The following changes since commit 8844bb8d896595ee1d25d21c770e6e6f29803097: Merge tag 'or1k-pull-request-20230513' of https://github.com/stffrdhrn/qemu into staging (2023-05-13 11:23:14 +0100) are available in the Git repository at: https://gitlab.com/stefanha/qemu.git tags/block-pull-request for you to fetch changes up to 01562fee5f3ad4506d57dbcf4b1903b565eceec7: docs/zoned-storage:add zoned emulation use case (2023-05-15 08:19:04 -0400) ---------------------------------------------------------------- Pull request This pull request contain's Sam Li's zoned storage support in the QEMU block layer and virtio-blk emulation. v2: - Sam fixed the CI failures. CI passes for me now. [Richard] ---------------------------------------------------------------- Sam Li (16): block/block-common: add zoned device structs block/file-posix: introduce helper functions for sysfs attributes block/block-backend: add block layer APIs resembling Linux ZonedBlockDevice ioctls block/raw-format: add zone operations to pass through requests block: add zoned BlockDriver check to block layer iotests: test new zone operations block: add some trace events for new block layer APIs docs/zoned-storage: add zoned device documentation file-posix: add tracking of the zone write pointers block: introduce zone append write for zoned devices qemu-iotests: test zone append operation block: add some trace events for zone append virtio-blk: add zoned storage emulation for zoned devices block: add accounting for zone append operation virtio-blk: add some trace events for zoned emulation docs/zoned-storage:add zoned emulation use case docs/devel/index-api.rst | 1 + docs/devel/zoned-storage.rst | 62 +++ qapi/block-core.json | 68 ++- qapi/block.json | 4 + meson.build | 5 + include/block/accounting.h | 1 + include/block/block-common.h | 57 ++ include/block/block-io.h | 13 + include/block/block_int-common.h | 37 ++ include/block/raw-aio.h | 8 +- include/sysemu/block-backend-io.h | 27 + block.c | 19 + block/block-backend.c | 198 +++++++ block/file-posix.c | 692 +++++++++++++++++++++++-- block/io.c | 68 +++ block/io_uring.c | 4 + block/linux-aio.c | 3 + block/qapi-sysemu.c | 11 + block/qapi.c | 18 + block/raw-format.c | 26 + hw/block/virtio-blk-common.c | 2 + hw/block/virtio-blk.c | 405 +++++++++++++++ hw/virtio/virtio-qmp.c | 2 + qemu-io-cmds.c | 224 ++++++++ block/trace-events | 4 + docs/system/qemu-block-drivers.rst.inc | 6 + hw/block/trace-events | 7 + tests/qemu-iotests/227.out | 18 + tests/qemu-iotests/tests/zoned | 105 ++++ tests/qemu-iotests/tests/zoned.out | 69 +++ 30 files changed, 2106 insertions(+), 58 deletions(-) create mode 100644 docs/devel/zoned-storage.rst create mode 100755 tests/qemu-iotests/tests/zoned create mode 100644 tests/qemu-iotests/tests/zoned.out -- 2.40.1