skydick/nfs: crossmnt on per-user exports so child datasets are reachable
Per-user namespace is structured as:
  dick/users/ldx                — parent (quota boundary, no content of its own)
  dick/users/ldx/files          — SMB-exposed personal files (\\SKYDICK\ldx)
  dick/users/ldx/bt-state       — *arr / qBT runtime state
  dick/users/ldx/timemachine    — macOS sparsebundle target (\\SKYDICK\ldx-timemachine)
  dick/users/ldx/vm             — VM disk roots

Without crossmnt on the parent export, NFS clients mounting
/srv/users/ldx only see the parent dataset and hit empty placeholders
where the children mount. 2026-05-14 incident: door-pek's baidunetdisk
container bound /mnt/users/ldx/baidu (top-level placeholder location)
because /mnt/users/ldx/files showed empty over NFSv3 — downloads landed
outside the SMB-visible namespace until the dataset boundary was
diagnosed.

Adding crossmnt makes the children visible from the existing parent
export with no separate export entries; equivalent to `nohide` on each
child. Options (all_squash, anonuid=1000) inherit naturally — exactly
the behaviour the parent already provides.

Also applied to /srv/users/ye-lw21 for parity (same dataset shape).

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
1 parent a9843f6 commit b2308f3217765cdafd98a372e9132275a004b152
@ldx ldx authored 25 days ago
Showing 1 changed file
View
hosts/skydick/datapool.nix