cubefs: add .czyx.C.Z.Y.X FUSE magic-prefix for Phase-3 'open by CZYX' (same inode as canonical path)

This commit is contained in:
hermes
2026-08-13 10:07:43 -04:00
parent 868883ba1e
commit ab40409316
3 changed files with 92 additions and 5 deletions
+12 -5
View File
@@ -45,11 +45,18 @@ is real. Each must be reproduced live, not asserted.
`fixed-durable-20260813`). Re-verified 2026-08-13: OS state written to
`/cubefs/c200/...` survived a `systemctl restart cube-server cubefs`. **STATUS: VERIFIED.**
3. **Phase 3 syscall surface** — "open by CZYX + flags": a record addressable
directly by coordinate, not path. **SHIPPED 2026-08-13**: `cube open <path>
<K.Z.Y.X> <tf>` and `cube seal ...` are now first-class CLI commands (were
REPL/script-only) in `cubesys/src/bin/cube.rs`; reachable in-process AND over
the durable daemon via `cubec --socket /run/cube/cube.sock 'open ...'`.
Verified: dispatch reaches the crypto/run layer. **STATUS: DONE.**
directly by coordinate, not path. **SHIPPED 2026-08-13**:
(a) `cube open <path> <K.Z.Y.X> <tf>` and `cube seal ...` are first-class CLI
commands in `cubesys/src/bin/cube.rs` (reachable in-process + over the durable
daemon). Verified: dispatch reaches the crypto/run layer.
(b) **`.czyx.C.Z.Y.X` FUSE magic-prefix (2026-08-13)** — `cubefs/src/path.rs`
`parse_dot_czyx` + `cubefs/src/fuse.rs::lookup` intercept: a path component
`.czyx.200.50.1.7` resolves to the SAME inode as the canonical
`/cubefs/c200/z050/y001/x007` and reads/writes the real record. This is the
Phase-3 "open by CZYX" at the filesystem level — the kernel addresses the
record by coordinate. LIVE VERIFIED: stat both spellings -> identical inode
3358720263; `cat .czyx.200.50.1.7` returns the record content. Unit tests in
`path.rs` cover full/partial/rejected forms. **STATUS: DONE.**
4. **Boot substrate** — the VM brings up CUBELinux as a storage layer the rest of
the OS reads/writes through. **DONE (systemd-managed, 2026-08-13)**: units
`cube-os-state.service` (oneshot, writes boot manifest + machine identity +