live trace · spdk io request path

VM → Storage Node
Request Trace

An interactive simulator tracing a single I/O request from a guest VM through VFIO-user, the NVMf target, RAID mirroring, RDMA transport, and into the storage node's lvol/blobstore. Based on the real path for raid_270 — two remote replicas reached over NVMe-oF RDMA. Each step shows actual source code from the SPDK codebase, what objects are allocated, what tuning knobs control behavior, and deep explanations of how SPDK's internal subsystems work.

The five things people call "buffers" — separate them or tuning is impossible
Guest Memory — mapped via VFIO, used directly when possible
NVMf Transport iobuf — target-side staged payload buffers
bdev_io — metadata envelope, NOT a data buffer
Qpair Request Slot — NVMe command concurrency slots
Generic bdev iobuf — bdev-layer data buffers from central pool
Step 0 / 14
navigate we write/read r reset