On Tue, Mar 23, 2021 at 06:50:44AM +0200, Amir Goldstein wrote: > On Tue, Mar 23, 2021 at 1:03 AM Dave Chinner <david@xxxxxxxxxxxxx> wrote: > > should be using something common across all filesystems from the > > linux superblock, not deep dark internal filesystem magic. The > > export interfaces that generate VFS (and NFS) filehandles already > > have a persistent fsid associated with them, which may in fact be > > the filesystem UUID in it's entirety. > > > > Yes, nfsd is using dark internal and AFAIK undocumnetd magic to > pick that identifier (Bruce, am I wrong?). Sorry, I kept putting off catching up with this thread and only now noticed the question. It's actually done mostly in userspace (rpc.mountd), so "dark internal" might not be fair, but it is rather complicated. There are several options (UUID, device number, number provided by the user with fsid= option), and I don't recall the logic behind which we use when. I don't *think* we have good comprehensive documentation of it anywhere. I wish we did. It'd take a little time to put together. Starting points would be linux/fs/nfsd/nfsfh.c and nfs-utils/support/export/cache.c. --b.