On Tue, Mar 23, 2021 at 06:50:44AM +0200, Amir Goldstein wrote:
On Tue, Mar 23, 2021 at 1:03 AM Dave Chinner [off-list ref] wrote:
quoted
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.