Skip to content

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, and Documentation/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.