Design 52: say the workstation's fstab line still mounts at boot until it is adopted, and can hold the boot 30 s
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery delivered
mesh/delivery-group group fix/shares-review-followups delivered: every member is delivered

This commit is contained in:
jochen
2026-10-08 21:14:34 +02:00
parent 4eb8be9e66
commit 4dd52cace6
+12 -4
View File
@@ -185,15 +185,23 @@ folders, none refused for a reason not understood.
2. **Assign `mounts` to the workstation, read-only.** Its `shares` is `library=<mount point>:ro`. Check
`node-mounts.list`: the pair is armed, the share reads `armed` then `mounted` after a listing, and the
files are there. Its unit pair takes the place of the unit generated from fstab.
**Until step 5 the hand-written fstab line still acts at boot.** The fstab generator still makes the
mount wanted by `remote-fs.target`, so at every boot the mount is started directly, not on access:
the module's `.mount` (which now carries the line's mount point) is pulled in at boot, can hold the
boot for up to its 30 s mount timeout, and fails when the home server is unreachable. The automount
protects only accesses after that. So step 5 follows soon after the share is seen working, and a
failed mount at boot in this window is expected, not a fault of the module.
*Undo:* unassign `mounts`; its unit pairs go, and the fstab line is still there.
3. **Watch for a day.** `mounts_health` and `nfs_health` stay healthy; a reboot of the workstation
completes with the home server's share reachable and with it stopped (the share reads `unreachable`
and the boot does not wait).
3. **Watch for a day.** `mounts_health` and `nfs_health` stay healthy, and a reboot of the workstation
with the home server's share reachable completes and mounts it. A reboot with the share unreachable
still waits up to 30 s and fails the mount while the fstab line stands (step 2); that the boot does
not wait is checked again after step 5.
4. **Read-write.** Change the grant to `rw` and the workstation's setting to drop `:ro`. Write one test
file from the workstation, check its owner on the home server is the library's owner, and remove it.
*Undo:* set both back to `ro`.
5. **Adopt the workstation's library line**: `node-mounts.adopt` dry run, read it, then with
`confirm` and a reason. *Undo:* the dated copy of fstab beside it.
`confirm` and a reason. From the next boot nothing starts the mount but an access, and a reboot with
the home server stopped completes without waiting. *Undo:* the dated copy of fstab beside it.
6. **Adopt the ZFS property**: `node-nfs-server.adopt` dry run, then confirmed. The home network's
export goes; the mesh's stays. *Undo:* `zfs set sharenfs=<the old value>` by a person, recorded as a
hand-act.