The volume manager reads its policy from configuration at boot (loadTables,
mirroring the device-manager registry load): filesystems.csv (content signature
-> service binary) and volumes.csv (optional id -> mount-prefix override), each
held in a static source buffer with declared bounds. On probe it picks the
binary from the volume's signature (unserved + logged if no row matches, like an
unbound device) and composes the mount path — a volumes.csv override, else the
default /volumes/<id> from volume-map.idString — then spawns that binary with
argv {volume-id, mount-prefix}. Behavior-preserving: fat still ignores argv[2..]
and uses its hardcoded mounts, the binary resolves to /system/services/fat, so
the FULL suite stays green (127/127); the flip to argv-driven mounts and the
/volumes/usb -> id-path migration land in step 5.
338 B
338 B
| 1 | # The filesystem map: a probed volume's content signature -> the service binary |
|---|---|
| 2 | # that serves it (docs/file-system-development/storage-architecture.md). The |
| 3 | # volume manager reads this (the policy); a signature no row matches goes |
| 4 | # unserved, never guessed. Adding a filesystem adds a row. |
| 5 | # |
| 6 | # signature, binary |
| 7 | fat, /system/services/fat |