qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v3 0/4] Add full zoned storage emulation to qcow2 driver


From: Sam Li
Subject: [PATCH v3 0/4] Add full zoned storage emulation to qcow2 driver
Date: Mon, 28 Aug 2023 23:09:51 +0800

This patch series add a new extension - zoned format - to the
qcow2 driver thereby allowing full zoned storage emulation on
the qcow2 img file. Users can attach such a qcow2 file to the
guest as a zoned device.

To create a qcow2 file with zoned format, use command like this:
$ qemu-img create -f qcow2 test.qcow2 -o size=768M -o
zone_size=64M -o zone_capacity=64M -o nr_conv_zones=0 -o
max_append_sectors=512 -o max_open_zones=0 -o max_active_zones=0
-o zone_model=1

Then add it to the QEMU command line:
    -blockdev 
node-name=drive1,driver=qcow2,file.driver=file,file.filename=../qemu/test.qcow2 
\
    -device virtio-blk-pci,drive=drive1 \

v2->v3:
- drop zoned_profile option [Klaus]
- reformat doc comments of qcow2 [Markus]
- add input validation and checks for zoned information [Stefan]
- code style: format, comments, documentation, naming [Stefan]
- add tracing function for wp tracking [Stefan]
- reconstruct io path in check_zone_resources [Stefan]

v1->v2:
- add more tests to qemu-io zoned commands
- make zone append change state to full when wp reaches end
- add documentation to qcow2 zoned extension header
- address review comments (Stefan):
  * fix zoned_mata allocation size
  * use bitwise or than addition
  * fix wp index overflow and locking
  * cleanups: comments, naming

Sam Li (4):
  docs/qcow2: add the zoned format feature
  qcow2: add configurations for zoned format extension
  qcow2: add zoned emulation capability
  iotests: test the zoned format feature for qcow2 file

 block/qcow2.c                            | 831 ++++++++++++++++++++++-
 block/qcow2.h                            |  22 +
 block/trace-events                       |   1 +
 docs/interop/qcow2.txt                   |  42 ++
 docs/system/qemu-block-drivers.rst.inc   |  39 ++
 include/block/block_int-common.h         |  13 +
 qapi/block-core.json                     |  30 +-
 tests/qemu-iotests/tests/zoned-qcow2     | 135 ++++
 tests/qemu-iotests/tests/zoned-qcow2.out | 140 ++++
 9 files changed, 1250 insertions(+), 3 deletions(-)
 create mode 100755 tests/qemu-iotests/tests/zoned-qcow2
 create mode 100644 tests/qemu-iotests/tests/zoned-qcow2.out

-- 
2.40.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]