On Tue, Feb 07, 2023 at 03:37:15PM -0500, Stefan Hajnoczi wrote:
> v4:
> - Add 'r' to read_f() getopt() call [Hanna]
> - Fix qemu_io_alloc() and friends buf and len with qemuio_misalign [Hanna]
> - Fix qemu_iovec_destroy()/qemu_io_free() ordering in aio_write_done() [Hanna]
> - Add mutually exclusive -z -r option check in aio_write_f() [Hanna]
> v3:
> - Restore alphabetical order in getopt strings [Eric]
> v2:
> - Add comment explaining unbalanced error code path in
> qemu_io_alloc_from_file() [Eric]
> - List options alphabetically in help output [Eric]
> - Add Tested-by/Reviewed-by
> - CC qemu-stable on the fix
>
> The first patch fixes a regression in QEMU 7.2 where detect-zeroes breaks with
> virtio-blk devices due to a BDRV_REQ_REGISTERED_BUF bug. Details of the
> regression can be found here:
> https://gitlab.com/qemu-project/qemu/-/issues/1404
>
> The remaining patches add a regression test that will protect this code path in
> the future. The qemu-io command is extended with the new -r option that calls
> blk_register_buf(). This allows a qemu-iotests test case to trigger the same
> bug as virtio-blk.
>
> Stefan Hajnoczi (4):
> block: fix detect-zeroes= with BDRV_REQ_REGISTERED_BUF
> qemu-io: use BdrvRequestFlags instead of int
> qemu-io: add -r option to register I/O buffer
> iotests/detect-zeroes-registered-buf: add new test
>
> block/io.c | 3 +
> qemu-io-cmds.c | 215 +++++++++++-------
> .../tests/detect-zeroes-registered-buf | 58 +++++
> .../tests/detect-zeroes-registered-buf.out | 7 +
> 4 files changed, 203 insertions(+), 80 deletions(-)
> create mode 100755 tests/qemu-iotests/tests/detect-zeroes-registered-buf
> create mode 100644 tests/qemu-iotests/tests/detect-zeroes-registered-buf.out
>
> --
> 2.39.1
>
Thanks, applied to my block tree:
https://gitlab.com/stefanha/qemu/commits/block
Stefan