diff --git a/hosts/skydick/datapool.nix b/hosts/skydick/datapool.nix index 78646c7..d6e85ec 100644 --- a/hosts/skydick/datapool.nix +++ b/hosts/skydick/datapool.nix @@ -381,9 +381,16 @@ /srv/media 10.0.0.0/16(rw,async,no_subtree_check,all_squash,anonuid=900,anongid=997) /srv/media/library 10.0.0.0/16(ro,sync,no_subtree_check,root_squash) - # Per-user — explicit exports; all_squash maps every client UID to the owner - /srv/users/ldx 10.0.0.0/16(rw,sync,no_subtree_check,all_squash,anonuid=1000,anongid=100) - /srv/users/ye-lw21 10.0.0.0/16(rw,sync,no_subtree_check,all_squash,anonuid=1002,anongid=100) + # Per-user — explicit exports; all_squash maps every client UID to the owner. + # crossmnt lets NFS clients traverse into the child datasets + # (.../files, .../bt-state, .../timemachine, .../vm) without + # separate export entries. Equivalent to setting `nohide` on each + # child. Without it, the children appear as empty mountpoints over + # NFSv3 (this bit us 2026-05-14: door-pek's baidunetdisk bind + # silently wrote to the parent dataset's placeholder instead of + # the SMB-exposed `files` child). + /srv/users/ldx 10.0.0.0/16(rw,sync,no_subtree_check,crossmnt,all_squash,anonuid=1000,anongid=100) + /srv/users/ye-lw21 10.0.0.0/16(rw,sync,no_subtree_check,crossmnt,all_squash,anonuid=1002,anongid=100) # System /srv/system/backup 10.0.0.0/16(rw,sync,no_subtree_check,no_root_squash)