I was trying to create a couple of NFS shares on my file server and failing miserably. After hours of trial and error I noticed that if I share a dataset directly it appears as an empty folder on client but if I share a subdirectory of the same dataset all works as expected.
I will try and elaborate a little:
My test setup is macOS v10.15.5, OoX 1.9.4 on the server and Ubuntu Mate 20.04 on the client. Zpool has “com.apple.ignoreowner=on” all datasets and all datasets and all their subdirectories have "drwxr-xr-x" for file permissons.
1) If a dataset is shared through NFS as
- Code: Select all
#/etc/exports
/Volumes/tank/Music -mapall=-2:-2 -ro
it can be mounted by the client but when opened, the mount point appears as an empty directory. Caja reports “Empty Space” correctly but it shows “0 Items”. More interestingly “ls” command returns an “Input/output error.” but “cd Concerts” works as expected. And when in Concerts directory "ls" command also works as expected. Please note that “tank” is the zpool, “Music” is a dataset and “Concerts” is a regular directory.
2) If a subfolder of a dataset is shared through NFS, it works as expected. Gets mounted normally and mount point is browsable with both Caja and cd/ls. E.g.:
- Code: Select all
#/etc/exports
/Volumes/tank/Music/Concerts -mapall=-2:-2 -ro
3) If a regular non-zfs drive is shared through NFS, like an APFS drive, it works as expected. Gets mounted normally and mount point is browsable with both Caja and cd/ls. E.g.:
- Code: Select all
#/etc/exports
/Volumes/VMs -mapall=-2:-2 -ro
Please note that “VMs” is a APFS formatted drive.
4) If a regular a subdirectory on a non-zfs drive is shared through NFS. it works as expected. Gets mounted normally and mount point is browsable with both Caja and cd/ls. E.g.:
- Code: Select all
#/etc/exports
/Volumes/VMs/Linux -mapall=-2:-2 -ro
Please note that “VMs” is a APFS formatted drive and“Linux” is a regular directory.
I'm not sure but I think this only happens when a zfs dataset is shared directly. I’m having difficulties figuring this out. Any help is much appreciated.