[RFC v6 0/4] Add zoned storage emulation to virtio-blk driver

Sam Li posted 4 patches 1 year, 3 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230129103951.86063-1-faithilikerun@gmail.com
Maintainers: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Raphael Norwitz <raphael.norwitz@nutanix.com>, "Michael S. Tsirkin" <mst@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, Eric Blake <eblake@redhat.com>, Markus Armbruster <armbru@redhat.com>
There is a newer version of this series
block/qapi-sysemu.c                         |  11 +
block/qapi.c                                |  15 +
hw/block/trace-events                       |   7 +
hw/block/virtio-blk-common.c                |   2 +
hw/block/virtio-blk.c                       | 410 ++++++++++++++++++++
include/block/accounting.h                  |   1 +
include/standard-headers/linux/virtio_blk.h | 158 +++++++-
qapi/block-core.json                        |  56 ++-
qapi/block.json                             |   4 +
9 files changed, 637 insertions(+), 27 deletions(-)
[RFC v6 0/4] Add zoned storage emulation to virtio-blk driver
Posted by Sam Li 1 year, 3 months ago
Note: the virtio-blk headers isn't upstream in the kernel yet therefore
marked as an RFC. The VIRTIO spec changes have been merged. The Linux
virtio_blk guest driver patches are in Michael Tsirkin's vhost tree:
https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git/tree/drivers/block/virtio_blk.c?h=vhost

v6:
- address Stefan's review comments
  * add accounting for zone append operation
  * fix in_iov usage in handle_request, error handling and typos

v5:
- address Stefan's review comments
  * restore the way writing zone append result to buffer
  * fix error checking case and other errands

v4:
- change the way writing zone append request result to buffer
- change zone state, zone type value of virtio_blk_zone_descriptor
- add trace events for new zone APIs

v3:
- use qemuio_from_buffer to write status bit [Stefan]
- avoid using req->elem directly [Stefan]
- fix error checkings and memory leak [Stefan]

v2:
- change units of emulated zone op coresponding to block layer APIs
- modify error checking cases [Stefan, Damien]

v1:
- add zoned storage emulation

Sam Li (4):
  include: update virtio_blk headers
  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

 block/qapi-sysemu.c                         |  11 +
 block/qapi.c                                |  15 +
 hw/block/trace-events                       |   7 +
 hw/block/virtio-blk-common.c                |   2 +
 hw/block/virtio-blk.c                       | 410 ++++++++++++++++++++
 include/block/accounting.h                  |   1 +
 include/standard-headers/linux/virtio_blk.h | 158 +++++++-
 qapi/block-core.json                        |  56 ++-
 qapi/block.json                             |   4 +
 9 files changed, 637 insertions(+), 27 deletions(-)

-- 
2.38.1