On Mon, Sep 21, 2026 at 04:28:02PM +0200, Niklas Cassel wrote: > Hello Stefan, Kevin, and everyone else, > > This series fixes how QEMU reports and enforces the two constraints that a > zoned device places on a write to a sequential zone: the write granularity, > and the largest zone append that it accepts. It also fixes two bugs in the > zone append emulation in file-posix, one of which a guest can reach. > > Most of it is preparation for Sam Li's zoned qcow2 series. The first two > patches are taken directly from there, as they are unrelated to qcow2. > > Changes since v5: > -Picked up Stefan's Reviewed-by tags that he gave when reviewing v4. > Patches that have changed significantly since v4 have had tags dropped > (i.e. they will have neither Damien's nor Stefan's Reviewed-by tags). > > Niklas Cassel (13): > block: add a helper for the index of the zone an offset falls in > block: add a helper to check if a zone is conventional > hw/block: derive the zone write granularity from the block sizes > virtio-blk: check the write granularity of writes to sequential zones > hw/block: reject a zoned device that the block sizes cannot address > block: reject zone appends that are not a multiple of the sector size > block: reject a zone append that is larger than a zone > file-posix: remove the zone append write granularity check > virtio-blk: add a max-append-sectors property > block: remove BlockLimits.max_append_sectors > file-posix: reject a zone append past the device capacity > file-posix: reject a zone append to a full or conventional zone > block: do not use CoroutineIOCompletion to hold a return value > > Sam Li (2): > block: widen BlockLimits.zone_size to uint64_t > virtio-blk: do not merge requests across a zone boundary > > block/block-backend.c | 11 +++ > block/file-posix.c | 59 +++++++----- > block/io.c | 79 ++++++++++++---- > hw/block/block.c | 68 ++++++++++++++ > hw/block/virtio-blk.c | 146 ++++++++++++++++++++++++++---- > include/block/block-io.h | 14 +++ > include/block/block_int-common.h | 19 +++- > include/hw/block/block.h | 14 +++ > include/hw/virtio/virtio-blk.h | 1 + > include/system/block-backend-io.h | 1 + > 10 files changed, 349 insertions(+), 63 deletions(-) > > > base-commit: 3b5d71cc3652fa7f5ecc449f05dae3ead2b718d7 > -- > 2.55.0 >
Thanks, applied to my block tree: https://gitlab.com/stefanha/qemu/commits/block Stefan
