agent v0.50.0: NAS network storage Part A1 (NFS/SMB automount foundation)
Host-side NFS/SMB automount of a bulk-media NAS share under /mnt/felhom-drives/<name> (propagates into the guest via the existing shared bind), the +100000 uid recipe, per-share liveness, and add/list/remove local-API endpoints. A NAS is a distinct class that bypasses the drive enroll/eject/decommission/SMART/watchdog machinery. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HxLA1mZurFq9kt8hneFeCs
This commit is contained in:
@@ -16,6 +16,13 @@ func parseFelhomMountUnit(content string) (MountSpec, bool) {
|
||||
if !strings.Contains(content, felhomUnitMarker) {
|
||||
return MountSpec{}, false
|
||||
}
|
||||
// GUARD (network-storage bypass, Scenario D): a NAS network mount carries the netUnitMarker, which
|
||||
// also contains felhomUnitMarker as a substring. It is NOT a drive — no durable-id, no device — and
|
||||
// MUST NOT be picked up by the host-reboot drive re-assert. Refuse it explicitly here so even a
|
||||
// (contrived) network unit shaped like a by-uuid drive unit can never be classified as a drive.
|
||||
if strings.Contains(content, netUnitMarker) {
|
||||
return MountSpec{}, false
|
||||
}
|
||||
var spec MountSpec
|
||||
for _, line := range strings.Split(content, "\n") {
|
||||
line = strings.TrimSpace(line)
|
||||
|
||||
Reference in New Issue
Block a user