diff --git a/RESUME-cubefs-daemon.md b/RESUME-cubefs-daemon.md index 6f0afc2..209921c 100644 --- a/RESUME-cubefs-daemon.md +++ b/RESUME-cubefs-daemon.md @@ -62,16 +62,24 @@ Two separate bugs hid behind the "FUSE write didn't reach the daemon" symptom: filesystem work; it is the only stage exercising the real kernel VFS path. ## NEXT STEPS (current) -1. Repeat the single-daemon + single-mount e2e INSIDE the VM to confirm the - deployed artifact behaves identically (host proof is on the shared code path). - NOTE: the VM's `cubefs.service` currently launches `cubefs-mount /cubefs - --seed` WITHOUT `--socket`, so it is in-memory there too — update the unit to - `cubefs-mount /cubefs --socket /run/cube/cube.sock --seed` (and ensure the - daemon is ordered Before= cubefs.service) so the VM FUSE is durable. -2. Add a `--features mount` build to the VM image's build step and to `./check` - so the durable mount can't silently regress to in-memory again. +1. ~~Repeat the single-daemon + single-mount e2e INSIDE the VM...~~ DONE 2026-08-13 + (this session): + - VM qcow2 was pre-fix (written 04:49, before 8f9e7e0/0300def). Rebuilt + cubefs-mount from the fixed source inside the VM (~13s, deps cached). + - Rewired /etc/systemd/system/cubefs.service from `--seed` (in-memory) to + `--socket /run/cube/cube.sock` with `Requires=cube-server.service`. + - E2E proven: wrote /cubefs/c011/z007/y003/x009 -> reached daemon store + (cube-store.json + .wal grew); record SURVIVED a `systemctl restart + cube-server` (read back through FUSE after restart). Durable-mount + contract holds inside the VM. ./check also passes there (after adding + rustfmt+clippy components to the VM stable toolchain). +2. Add a `--features mount` build to the VM image's build step / `./check` so the + durable mount can't silently regress to in-memory again. (DONE on host ./check; + VM image build step not yet updated.) 3. Optionally surface `DaemonBackend::put` failures as FUSE EIO instead of eprintln-only (best-effort today, acceptable). +4. Confirm the desktop "CUBE Shell" launcher execs `cubec` (not `cube repl`) and + reaches the daemon (skill's #1 gotcha). Not yet visually verified. ## KEY FILES - /home/CUBELinux/CUBELinux-2/cubesys/src/commands.rs (raw* commands + helpers)