While working on NBD, I found myself cursing the qemu-io UI for not letting me test various scenarios, particularly after fixing NBD to serve at byte granularity [1]. And in the process of writing these qemu-io enhancements, I also managed to flush out several other bugs in the block layer proper, with fixes posted separately, such as loss of BDRV_REQ_FUA during write_zeroes [2]
2.7 material, depends on Kevin's block-next: git://repo.or.cz/qemu/kevin.git block-next and on my pending "block: kill sector-based blk_write/read" https://lists.gnu.org/archive/html/qemu-devel/2016-05/msg00557.html Previously posted as part of a larger NBD series [3] at v3, hence this series starts life at v4. [1] commit df7b97ff [2] https://lists.gnu.org/archive/html/qemu-devel/2016-05/msg00285.html [3] https://lists.gnu.org/archive/html/qemu-devel/2016-04/msg03526.html Also available as a tag at this location: git fetch git://repo.or.cz/qemu/ericb.git nbd-qemu-io-v4 Changes since then: More cleanups Include readv/writev and aio_read/aio_write. Update qemu-iotests 23 to match new 'write' semantics [kwolf] 001/6:[----] [--] 'qemu-io: Add missing option documentation' 002/6:[down] 'qemu-io: Use bool for command line flags' 003/6:[down] 'qemu-io: Allow unaligned access by default' 004/6:[0056] [FC] 'qemu-io: Add 'write -f' to test FUA flag' 005/6:[----] [--] 'qemu-io: Add 'open -u' to set BDRV_O_UNMAP after the fact' 006/6:[0026] [FC] 'qemu-io: Add 'write -z -u' to test MAY_UNMAP flag' Eric Blake (6): qemu-io: Add missing option documentation qemu-io: Use bool for command line flags qemu-io: Allow unaligned access by default qemu-io: Add 'write -f' to test FUA flag qemu-io: Add 'open -u' to set BDRV_O_UNMAP after the fact qemu-io: Add 'write -z -u' to test MAY_UNMAP flag qemu-io-cmds.c | 222 ++--- qemu-io.c | 12 +- tests/qemu-iotests/023.out | 2160 +++++++++++++++++++++++++++++--------------- 3 files changed, 1562 insertions(+), 832 deletions(-) -- 2.5.5