diff --git a/system/services/volume-manager/volume-manager.zig b/system/services/volume-manager/volume-manager.zig index c00dbe4..6fe5851 100644 --- a/system/services/volume-manager/volume-manager.zig +++ b/system/services/volume-manager/volume-manager.zig @@ -226,9 +226,12 @@ fn bringUpVolume() void { } /// The storage provider left the device tree (a pulled stick): kill the -/// filesystem so its mounts are retired (the kernel sweeps a dead backend's -/// mounts), drop the now-dead channel, and clear the volume. The next poll that -/// sees storage return will re-mount. +/// filesystem so its mounts are retired. Retirement is lazy, not an eager +/// death-time sweep — killing the process marks the filesystem's backend +/// endpoint dead, and the VFS router drops each mount that endpoint backed on +/// the next path resolution under it (that resolve frees the slot and returns +/// not_found). Then drop the now-dead channel and clear the volume; the next +/// poll that sees storage return re-mounts. fn removeVolume() void { const v = volume orelse return; std.log.info("storage for volume {d} removed; unmounting", .{v.id});