Define invalid-tar and nonblocking-device filesystem behavior
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 2.7k
- Forks
- 144
- Avg merge
- 12h 21m
- Merged PRs (30d)
- 146
Description
Follow-up from the static review of #1359. This work is intentionally outside the #1354-#1364 broker filesystem migration stack because both behaviors predate the stack and require broader API and compatibility decisions.
- [ ] Make tar-backed filesystem construction handle malformed archive data deliberately. `litebox_broker_core/src/fs/tar_ro.rs` currently treats archive bytes as trusted and uses panic-based assumptions while building `TarRo`. Decide on a fallible constructor contract and propagate failures consistently through broker userland and the remaining shim/runner callers.
- [ ] Define `O_NONBLOCK` behavior for synthetic devices. `litebox_broker_core/src/fs/devices.rs` currently uses `unimplemented!()` for nonblocking stdin, stdout, stderr, and urandom opens. Decide which devices should accept/ignore the flag, which require true nonblocking provider support, and which should return an explicit open error. Keep the current panic as an unsupported-path signal until that behavior is designed.
These items should not block or expand the current stacked PRs.
Contributor guide
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 with litebox_broker_core/src/fs/tar_ro.rs and litebox_broker_core/src/fs/devices.rs, then trace the remaining shim and runner callers mentioned in the issue. Define the fallible TarRo construction and consistent failure propagation, and settle explicit O_NONBLOCK behavior for each synthetic device. Done means both API and compatibility decisions are implemented without leaving these paths panic-based.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100