Layer 0 spec — io_uring module (redirection)
Redirection document — Version 2.0
This document is no longer authoritative. It was the early-stage synthesis of the
io_uringmodule, calibrated on an old kernel. Its inventory and partitioning function has been entirely revised and corrected by the master document and the detailed per-Temps specifications (frozen kernel target 6.12 LTS).It is kept as a redirection point so as not to break inbound links; all of its substantive content now lives in the documents below.
Where to read the io_uring module specification
Architecture decisions
- ADR-022 — io_uring module architecture (10 structuring decisions)
- ADR-028 — Soundness and teardown (S1/S2/S3) (complements ADR-022)
Master document (entry point)
- io_uring — master inventory (target 6.12): exhaustive enumeration of the 8 axes, retained/obsolete classification, soundness decisions, partitioning into Temps, rustdoc skeleton of the core.
Detailed specifications per Temps
- Temps 1 — API core
- Temps 2a — filesystem
- Temps 2b — network
- Temps 2c — async-specific
- Temps 2d — URING_CMD (passthrough)
- Temps 3a — registration
- Temps 3b — provided buffers (ring)
- Temps 3c — linked operations
- Temps 3d — multishot
- Temps 3e — multi-thread
- Temps 3f — confinement (sandbox)
- Temps 4 — raw access (raw)
Historical note — soft/hard link semantics (corrected — ref. spec 3c §2). An earlier version of this document described the soft/hard link semantics backwards and gave an incomplete inventory (calibrated on ~5.15). The correct semantics, kernel-verified and authoritative in
io-uring-3c-linked.md§2, are:
- soft (
IOSQE_IO_LINK): the chain is broken on a completion error of a link —short readincluded (a partial read counts as a chaining error) → the following links receive-ECANCELED;- hard (
IOSQE_IO_HARDLINK): the chain is not broken by a completion error of a link (the following ones execute anyway);- in both cases, the execution order of the links is guaranteed;
- a submission failure of the parent link breaks the chain.
In case of divergence, the master document and the per-Temps specs are authoritative.
Document license: MPL 2.0 Status: Redirection document. The normative content lives in the master document and the per-Temps specs.