VM block error injection, a novel approach for testing Linux storage
summary
Proposal to inject real hardware-like block errors from the VM layer for reproducible storage testing, claiming virtualized device models can force read/write errors, timeouts and silent corruption even before boot. Modifications include a queue API socket interface to add/remove mediators, changes to SCSI and NVMe device models, and code to return accurate sense data with LBA for failing sectors. Work lands as patches and aims for block debug integration with QEMU; proof‑of‑concept code is on the GitHub repo linked in the description.
AI-written summary · about
chapters (16)
- 0:00Start
- 12:09Importance Of Testing The Storage Stack
- 12:50Layering Of Linux Storage Stack
- 14:25Difficulties In Testing Storage devices are quite reliable
- 16:06Characteristics Of Desirable Error Testing
- 16:34Different Approaches In Creating Errors
- 17:44SCSI Debug
- 18:07Device Mapper Error Targets
- 19:48Network Block Device (NBD)
- 21:12SCSI Fault Injector
- 22:21Use An Actual SCSI Disk Drive Warning: Don't do this on a drive you value
- 24:07Create The Errors In A Virtual Machine (VM)
- 25:57Benefits Of Adding Error Injection In VM Continued
- 26:18Risks Of VM Error Injection What could possibly go wrong
- 28:29Other Potential Use Cases Some of These Already Exist
- 29:46Proof of Concept For QEMU
related talks
32mUsing Linux Block Integrity in Building and Testing Storage Systems
21mAdvanced block storage test devices
30mQEMU-Storage-Daemon and libblkio: Exploring New Shores for the QE...
10mBring SCSI Support Into QEMU Block Layer
37mHardware Error Handling Improvement for Reliable KVM Hypervisor
18mvdpa-blk: Unified Hardware and Software Offload for virtio-blk
34mublk virtual block devices in user space
03mZoned MC Conference Kick Off
