ublk virtual block devices in user space
summary
ublk moves virtual block device emulation into user space by forwarding Linux block requests over shared memory and io_uring passthrough commands, with the kernel side merged around Linux 6.0. It exposes a control char device plus a standard /dev/ublock B device, uses per‑queue tags for multiq mapping, and ships a QEMU Storage Daemon proof‑of‑concept export (NBD/fuse/vhost‑user/VFUSE work done, ublk export in development). Unprivileged kernel support is pending and no formal benchmarks are yet published.
AI-written summary · about
chapters (5)
- 0:00Introduction to U block
- 5:41Understanding io_uring
- 12:29U block kernel implementation
- 17:56User space and development
- 26:06Q&A and future directions
related talks
30mQEMU-Storage-Daemon and libblkio: Exploring New Shores for the QE...
42mUserspace Block Services Based on Ublk and Vduse in SPDK
18mvdpa-blk: Unified Hardware and Software Offload for virtio-blk
44mVM block error injection, a novel approach for testing Linux storage
42mUnderstanding the Linux Block Layer-From Single Queue to Multi-Queue Architecture
18mDm-qcow2: qcow2 as Device-mapper Block Device
15mRearchitecting Linux Storage Stack for µs Latency and High Throughput
32mUsing Linux Block Integrity in Building and Testing Storage Systems
