Hi Neil, > Some filesystems cannot be exported without an fsid or uuid. > tmpfs is the main example. > When mountd (or exportd) creates nfsv4 pseudo-root exports for the path > leading down to an export point it exports each directory without any > fsid or uuid. If one of these directories is on tmp, that will fail. > The net result is that exporting a subdirectory of a tmpfs filesystem > will not work over NFSv4 as the parents within the filesystem cannot be > exported. It will either fail, or fall-back to NFSv3 (depending on the > version of the mount.nfs program). > To fix this we need to provide an fsid or uuid for these pseudo-root > exports. This patch does that by creating an RFC-4122 V5 compatible > UUID based on an arbitrary seed and the path to the export. > To check if an export needs a uuid, text_export() is moved from exportfs > to libexport.a, modified slightly and renamed to export_test(). > Signed-off-by: NeilBrown <neilb@xxxxxxx> Tested-by: Petr Vorel <pvorel@xxxxxxx> tmpfs and btrfs via LTP test nfs01 on openSUSE. Kind regards, Petr