Thread (122 messages) 122 messages, 21 authors, 2021-08-25

Re: [PATCH/RFC 00/11] expose btrfs subvols in mount table correctly

From: NeilBrown <hidden>
Date: 2021-07-28 22:51:00
Also in: linux-fsdevel, linux-nfs

On Wed, 28 Jul 2021, Neal Gompa wrote:
On Wed, Jul 28, 2021 at 3:02 AM NeilBrown [off-list ref] wrote:
quoted
On Wed, 28 Jul 2021, Wang Yugui wrote:
quoted
Hi,

This patchset works well in 5.14-rc3.
Thanks for testing.
quoted
1, fixed dummy inode(255, BTRFS_FIRST_FREE_OBJECTID - 1 )  is changed to
dynamic dummy inode(18446744073709551358, or 18446744073709551359, ...)
The BTRFS_FIRST_FREE_OBJECTID-1 was a just a hack, I never wanted it to
be permanent.
The new number is ULONG_MAX - subvol_id (where subvol_id starts at 257 I
think).
This is a bit less of a hack.  It is an easily available number that is
fairly unique.
quoted
2, btrfs subvol mount info is shown in /proc/mounts, even if nfsd/nfs is
not used.
/dev/sdc                btrfs   94G  3.5M   93G   1% /mnt/test
/dev/sdc                btrfs   94G  3.5M   93G   1% /mnt/test/sub1
/dev/sdc                btrfs   94G  3.5M   93G   1% /mnt/test/sub2

This is a visiual feature change for btrfs user.
Hopefully it is an improvement.  But it is certainly a change that needs
to be carefully considered.
I think this is behavior people generally expect, but I wonder what
the consequences of this would be with huge numbers of subvolumes. If
there are hundreds or thousands of them (which is quite possible on
SUSE systems, for example, with its auto-snapshotting regime), this
would be a mess, wouldn't it?
Would there be hundreds or thousands of subvols concurrently being
accessed? The auto-mounted subvols only appear in the mount table while
that are being accessed, and for about 15 minutes after the last access.
I suspect that most subvols are "backup" snapshots which are not being
accessed and so would not appear.
Or can we add a way to mark these things to not show up there or is
there some kind of behavioral change we can make to snapper or other
tools to make them not show up here?
Certainly it might make sense to flag these in some way so that tools
can choose the ignore them or handle them specially, just as nfsd needs
to handle them specially.  I was considering a "local" mount flag.

NeilBrown


-- 
真実はいつも一つ!/ Always, there's only one truth!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help