Block I/O And Storage Stack
Imported from
_research/manual-study-linux/block-storage.md.
Block I/O And Storage Stack
Status: planned for true-full deepening.
This chapter exists to close a major gap in the previous broad dossier. The block layer is a core Linux subsystem and must be covered before the dossier can claim kernel-book-quality completeness.
True-Full Checklist
- Source surface:
block/blk-core.c,block/blk-mq.c,include/linux/blkdev.h, andDocumentation/block/blk-mq.rst. - Entry points: request submission from filesystems and bio/request queue boundaries.
- Core data structures: bio, request, request queue, tag set, hardware context, software context, and block device.
- Main control flows: submit bio, split/merge, queue, dispatch, completion, teardown, and error handling.
- Concurrency model: queue locks, per-CPU or per-hctx dispatch, completions, plugging, and memory reclaim interactions.
- Resource model: tags, queues, request allocation, throttling, device limits, and failure modes.
- Extension points: elevator/scheduler hooks, block device operations, request queue limits, and driver callbacks.
- Rust translation: typed block device handles, request state machines, completion guards, and safe driver-facing queue APIs.
- AI-native translation: storage capability handles, I/O budgets, backpressure, and observable data-plane events.
- Evidence: exact source-note links and line ranges.
Current Work Items
The strict ledger tracks this chapter under block. All rows are currently
planned; the next implementation pass should create source notes for the core
files and then promote this chapter from checklist to implementation narrative.