oxidecomputer / oxidecomputer/sush
Locker should recover from a wiped slot
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 3
- Forks
- 0
- Avg merge
- 9d 12h
- Merged PRs (30d)
- 11
Description
If one deletes a locker file while sush is running, it currently wedges closed. But it could heal around it, though some caution is required, because we want to distinguish between "slot directory vanished" and "dataset unmounted". The safe path is probably to capture an open dirfd on the cluster dataset root at startup and recreate the wiped directory with mkdirat through that fd.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the locker code that handles the cluster dataset root and wiped slot, then inspect how it distinguishes a vanished slot directory from an unmounted dataset. Evaluate the proposed startup dirfd and mkdirat approach; done means a wiped slot recovers without treating an unmounted dataset as recoverable, with tests covering both cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100