volume-manager: S1 close-out — partition fixtures in the root aggregate; docs (S1)
Add volume-manager to build.zig's root package-test loop, so `zig build test` runs the partition parser's nine host tests and a fixture added there can never be silently skipped. Flip the identity-ladder build status in storage-design-rationale.md: rungs 1 (GPT partition GUID) and 3 (FAT serial + label) are built, joining rung 4; rung 2 (filesystem UUID) waits on a non-FAT engine; the volumes.csv map and the id-derived mount path land with S2.
This commit is contained in:
@@ -215,16 +215,16 @@ matrix-proven shape; genuinely open.
|
||||
broke whenever a drive changed ports or enumeration order; `UUID=` entries
|
||||
exist because device-path identity failed. danos skips that era: the mount
|
||||
map (`volumes.csv` — configuration, read by the volume manager) keys on
|
||||
**content identity, never port or discovery order**. Build status: only
|
||||
rung 4 (MBR signature + partition index) is implemented today; the fuller
|
||||
rungs and the `volumes.csv` map itself land with the identity ladder, so
|
||||
today a single volume mounts at the fixed `/volumes/usb` and its recorded
|
||||
identity is not yet consulted to pick a path. The target ladder the prober
|
||||
reads off the medium, strongest first:
|
||||
1. GPT partition GUID — 128-bit, unique, stable for the volume's life *(planned)*;
|
||||
**content identity, never port or discovery order**. Build status: rungs 1,
|
||||
3, and 4 (GPT partition GUID, FAT serial + label, MBR signature + index) are
|
||||
implemented (S1); rung 2 waits on a non-FAT engine. The `volumes.csv` map and
|
||||
the id-derived mount path land with S2, so today a single volume still mounts
|
||||
at the fixed `/volumes/usb` and its recorded identity is not yet consulted to
|
||||
pick a path. The ladder the prober reads off the medium, strongest first:
|
||||
1. GPT partition GUID — 128-bit, unique, stable for the volume's life — **built (S1)**;
|
||||
2. filesystem UUID (ext-family and most modern formats, in the superblock) *(planned)*;
|
||||
3. FAT volume serial + label — 32 bits, weak (dd-cloned sticks share it)
|
||||
but what real sticks carry *(planned)*;
|
||||
but what real sticks carry — **built (S1)**;
|
||||
4. MBR disk signature + partition index — **built**; a bare FAT with no
|
||||
table takes index 0 over the whole device;
|
||||
5. nothing — an anonymous volume: generated mount name, no persistence *(planned)*.
|
||||
|
||||
Reference in New Issue
Block a user