[M] Change in ...nfs-ganesha[next]: FSAL: mounted_on_fileid as an attribute, and from VFS for mount points
4h8qdp6jx9@privaterelay.appleid.com has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1255473?usp=email ) Change subject: FSAL: mounted_on_fileid as an attribute, and from VFS for mount points ...................................................................... FSAL: mounted_on_fileid as an attribute, and from VFS for mount points The mounted_on_fileid of a file system root must be the inode number of the directory it is mounted on (RFC 8881 5.8.2.23). Ganesha returned the root's own fileid. Every ZFS dataset root is fileid 34, so Linux clients saw nested file systems as directory cycles, and find and du skipped them. Add the optional FSAL attribute ATTR4_MOUNTED_ON_FILEID. Ganesha asks for it only from FSALs that provide it, or MDCACHE would never find it cached. VFS and XFS take it from readdir() for mount points. GETATTR doesn't read the parent, so when Ganesha reads the mount table it records the mount point inode of each nested file system, read once through "..". knfsd returns the same values. Change-Id: Icac682e5a69fd6a6446b1742ba50b26d984b6f07 Signed-off-by: Evan Champion <4h8qdp6jx9@privaterelay.appleid.com> --- M src/FSAL/FSAL_VFS/file.c M src/FSAL/FSAL_VFS/handle.c M src/FSAL/FSAL_VFS/vfs/main-c.in.cmake M src/FSAL/FSAL_VFS/xfs/main.c M src/FSAL/fsal_helper.c M src/FSAL/localfs.c M src/Protocols/NFS/nfs4_op_getattr.c M src/Protocols/NFS/nfs4_pseudo.c M src/Protocols/NFS/nfs_proto_tools.c M src/include/FSAL/fsal_localfs.h M src/include/fsal_api.h M src/include/fsal_types.h M src/include/nfs_proto_tools.h 13 files changed, 209 insertions(+), 21 deletions(-) git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/73/1255473/1 -- To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1255473?usp=email To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: ffilz/nfs-ganesha Gerrit-Branch: next Gerrit-Change-Id: Icac682e5a69fd6a6446b1742ba50b26d984b6f07 Gerrit-Change-Number: 1255473 Gerrit-PatchSet: 1 Gerrit-Owner: 4h8qdp6jx9@privaterelay.appleid.com
participants (1)
-
Name of user not set (GerritHub)