DISCARD and WRITE_ZEROES commands has been implemented in virtio-blk
protocol since qemu >= 4.2.0, may be it's time to introduce discard and
write-zeroes options for virtio-blk device in libvirt so that the upper
layer can enable this feature at disk granularity.
To distinguish the discard option in block drive layer, use the 'virtio'
prefix to indicate that these attributes are specific for virtio-blk
disk.
To try this out, three things has done in this patchset:
1. introduce capabilities of discard and write-zeroes for virtio-blk
2. add virtio_discard and virtio_write_zeroes attributes of driver in
disk xml element
3. generate cmd line when launching vm

Please review, any comments and suggestions are very appreciated,
thanks!
Yong

Hyman Huang(黄勇) (3):
  qemu_capabilities: Introduce virtio-blk DISCARD and WRITE_ZEROES
    capabilities
  conf: Add 'virtio_discard' and 'virtio_write_zeroes' attributes
  qemu_command: Generate cmd line for discard and write-zeroes
    properties

 docs/formatdomain.rst                         |  8 +++
 src/conf/domain_conf.c                        | 16 ++++++
 src/conf/domain_conf.h                        |  2 +
 src/conf/schemas/domaincommon.rng             | 10 ++++
 src/qemu/qemu_capabilities.c                  |  4 ++
 src/qemu/qemu_capabilities.h                  |  2 +
 src/qemu/qemu_command.c                       |  2 +
 src/qemu/qemu_validate.c                      | 14 +++++
 .../caps_4.2.0_aarch64.xml                    |  2 +
 .../qemucapabilitiesdata/caps_4.2.0_ppc64.xml |  2 +
 .../qemucapabilitiesdata/caps_4.2.0_s390x.xml |  2 +
 .../caps_4.2.0_x86_64.xml                     |  2 +
 .../caps_5.0.0_aarch64.xml                    |  2 +
 .../qemucapabilitiesdata/caps_5.0.0_ppc64.xml |  2 +
 .../caps_5.0.0_riscv64.xml                    |  2 +
 .../caps_5.0.0_x86_64.xml                     |  2 +
 .../caps_5.1.0_x86_64.xml                     |  2 +
 .../caps_5.2.0_aarch64.xml                    |  2 +
 .../qemucapabilitiesdata/caps_5.2.0_ppc64.xml |  2 +
 .../caps_5.2.0_riscv64.xml                    |  2 +
 .../qemucapabilitiesdata/caps_5.2.0_s390x.xml |  2 +
 .../caps_5.2.0_x86_64.xml                     |  2 +
 .../caps_6.0.0_aarch64.xml                    |  2 +
 .../qemucapabilitiesdata/caps_6.0.0_s390x.xml |  2 +
 .../caps_6.0.0_x86_64.xml                     |  2 +
 .../caps_6.1.0_x86_64.xml                     |  2 +
 .../caps_6.2.0_aarch64.xml                    |  2 +
 .../qemucapabilitiesdata/caps_6.2.0_ppc64.xml |  2 +
 .../caps_6.2.0_x86_64.xml                     |  2 +
 .../caps_7.0.0_aarch64+hvf.xml                |  2 +
 .../caps_7.0.0_aarch64.xml                    |  2 +
 .../qemucapabilitiesdata/caps_7.0.0_ppc64.xml |  2 +
 .../caps_7.0.0_x86_64.xml                     |  2 +
 .../qemucapabilitiesdata/caps_7.1.0_ppc64.xml |  2 +
 .../caps_7.1.0_x86_64.xml                     |  2 +
 tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml |  2 +
 .../caps_7.2.0_x86_64+hvf.xml                 |  2 +
 .../caps_7.2.0_x86_64.xml                     |  2 +
 .../caps_8.0.0_riscv64.xml                    |  2 +
 .../caps_8.0.0_x86_64.xml                     |  2 +
 .../qemucapabilitiesdata/caps_8.1.0_s390x.xml |  2 +
 .../caps_8.1.0_x86_64.xml                     |  2 +
 .../disk-virtio-discard.x86_64-latest.args    | 44 +++++++++++++++
 .../qemuxml2argvdata/disk-virtio-discard.xml  | 56 +++++++++++++++++++
 tests/qemuxml2argvtest.c                      |  1 +
 45 files changed, 227 insertions(+)
 create mode 100644 
tests/qemuxml2argvdata/disk-virtio-discard.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/disk-virtio-discard.xml

-- 
2.38.5

Reply via email to