lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Fri, 10 Apr 2015 08:33:12 +0800
From:	Qu Wenruo <quwenruo@...fujitsu.com>
To:	<dsterba@...e.cz>, Omar Sandoval <osandov@...ndov.com>,
	Chris Mason <clm@...com>, Josef Bacik <jbacik@...com>,
	<linux-btrfs@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/3] Btrfs: unify subvol= and subvolid= mounting



-------- Original Message  --------
Subject: Re: [PATCH 2/3] Btrfs: unify subvol= and subvolid= mounting
From: David Sterba <dsterba@...e.cz>
To: Qu Wenruo <quwenruo@...fujitsu.com>
Date: 2015年04月10日 00:10

> On Wed, Apr 08, 2015 at 02:06:14PM +0800, Qu Wenruo wrote:
>>
>>
>> -------- Original Message  --------
>> Subject: [PATCH 2/3] Btrfs: unify subvol= and subvolid= mounting
>> From: Omar Sandoval <osandov@...ndov.com>
>> To: Chris Mason <clm@...com>, Josef Bacik <jbacik@...com>, David Sterba
>> <dsterba@...e.cz>, <linux-btrfs@...r.kernel.org>
>> Date: 2015年04月08日 13:34
>>
>>> Currently, mounting a subvolume with subvolid= takes a different code
>>> path than mounting with subvol=. This isn't really a big deal except for
>>> the fact that mounts done with subvolid= or the default subvolume don't
>>> have a dentry that's connected to the dentry tree like in the subvol=
>>> case. To unify the code paths, when given subvolid= or using the default
>>> subvolume ID, translate it into a subvolume name by walking
>>> ROOT_BACKREFs in the root tree and INODE_REFs in the filesystem trees.
>> Oh, this patch is what I have tried long long ago, and want to do the
>> same thing, to show subvolume mount for btrfs.
>>
>> But it came to me that, superblock->show_path() is a better method to do it.
>>
>> You can implement btrfs_show_path() to allow mountinfo to get the
>> subvolume name from subvolid, and don't change the mount routine much.
>
> The problem I see with the show_mount approach is related to the
> additional path lookup, memory allocation and locking.
>
> If the mountpoint dentry is the right on ,it's just a simple seq_dentry
> in show_options.
>
> OTOH, your patch takes subvol_sem that will block the callback if
> there's eg. a subvolume being deleted (that takes the write lock). This
> is not a lightweight operation nor an infrequent one. There are more
> write locks to subvol_sem.
Thanks for pointing out this problem.
That's right.

But I found that, since in show_path() function, we can just return 
-EAGAIN without breaking anything, locking in btrfs_path should be enough.

So I can remove all the unneeded lock/sem.

Thanks,
Qu
>
> I'm not sure if I've ever sent this comment back to you, sorry if not.
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ