On Fri, 25 Jun 2021, Patrick Goetz wrote: > > On 6/23/21 5:04 PM, NeilBrown wrote: > > > > Probably the best approach to fixing this completely on the btrfs side > > would be to copy the auto-mount approach used in NFS. NFS sees multiple > > different volumes on the server and transparently creates new vfsmounts, > > using the automount infrastructure to mount and unmount them. > > I'm very confused about what you're talking about. Is this documented > somewhere? I mean, I do use autofs, but see that as a separate software > system working with NFS. > autofs (together with the user-space automountd) is a special filesystem that provides automount functionality to the sysadmin. It makes use of some core automount functionality in the Linux VFS. This functionality is referred to as "managed" dentries. See "Revalidation and automounts" in https://lwn.net/Articles/649115/. autofs makes use of this functionality to provide automounts. NFS makes use of this same functionality to provide the same mount-point structure on the client that it finds on the server. I don't think there is any documentation specifically about NFS using this infrastructure. It should be largely transparent to users. Suppose that on the server "/export/foo" is a mount of some filesystem, and you nfs4 mount "server:/export" to "/import" on the client. Then you will at first see only "/import" in /proc/mounts on client. If you "ls -ld /import/foo" you will still only see /import. But if you "ls -l /import/foo" so it lists the contents of that other filesytem, then check /proc/mounts, you will now see "/import" and "/import/foo". After a while (between 500 and 1000 seconds I think) of not accessing /import/foo, that entry will disappear from /proc/mounts. I'm sure you will recognise this as very similar to autofs behaviour. It uses the same core functionality. The timeout for inactive NFS sub-filesystems to be unmounted can be controlled via /proc/sys/fs/nfs/nfs_mountpoint_timeout and, since Linux 5.7, via the nfs_mountpoint_expiry_timeout module parameter. These aren't documented. Note that I'm no longer sure that btrfs using automount like this would actually make things easier for nfsd. But in some ways I think it would be the "right" thing to do. NeilBrown