btrfs subvols: scrub tracker tags from comments; harden subvol chown
- Replace the #-number tracker references in code comments with prose (tracker-tag lint; hive convention is prose in source). - ensure_agent_subvolume now treats a chown failure on the freshly created subvolume as fatal: it rolls the subvolume back (deletes it) and returns an error, instead of warning and leaving a root-owned subvol that hive-c0re can't write into (which would also make the c0re-side exists-check skip the retry, wedging the agent).
This commit is contained in:
parent
1f602d5fda
commit
eb103a5660
3 changed files with 28 additions and 13 deletions
|
|
@ -660,7 +660,7 @@ pub async fn destroy(coord: &Arc<Coordinator>, name: &str, purge: bool) -> Resul
|
|||
let _ = std::fs::remove_dir_all(&runtime);
|
||||
}
|
||||
if purge {
|
||||
// The state root may be a btrfs subvolume (#1762): a subvolume root
|
||||
// The state root may be a btrfs subvolume: a subvolume root
|
||||
// can't be removed with rmdir/`remove_dir_all`, so delete it via
|
||||
// hive-priv (root) first. No-op for plain-dir agents — the loop below
|
||||
// then handles the plain-dir state root plus the applied dir.
|
||||
|
|
|
|||
|
|
@ -878,7 +878,7 @@ pub fn ensure_state_dir(notes_dir: &Path) -> Result<()> {
|
|||
/// filesystem supports it — BEFORE the per-agent subdirs (`state/`, `claude/`,
|
||||
/// `harness/`) are created by `ensure_state_dir` / `ensure_claude_dir`.
|
||||
///
|
||||
/// Progressive enhancement (the #1762 model): if the root already exists
|
||||
/// Progressive enhancement: if the root already exists
|
||||
/// (any agent provisioned before this landed, plain dir or subvol) it's left
|
||||
/// exactly as-is — no auto-migration — and the priv round-trip is skipped. On
|
||||
/// a non-btrfs host the priv op no-ops and the root is later created as a
|
||||
|
|
|
|||
Loading…
Reference in a new issue