From: Peter Krempa <pkrempa@redhat.com>
The 'target-is-zero' option of 'blockdev-mirror' allows telling qemu to
skip zeroing the mirror target if the user certifies that it's empty. It
was introduced in qemu-10.1.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
---
src/qemu/qemu_capabilities.c | 4 ++++
src/qemu/qemu_capabilities.h | 3 +++
tests/qemucapabilitiesdata/caps_10.1.0_s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_10.1.0_x86_64+inteltdx.xml | 1 +
tests/qemucapabilitiesdata/caps_10.1.0_x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_10.2.0_x86_64+mshv.xml | 1 +
tests/qemucapabilitiesdata/caps_10.2.0_x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_11.0.0_x86_64.xml | 1 +
10 files changed, 15 insertions(+)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 65d8aac4fb..2911982678 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -764,6 +764,9 @@ VIR_ENUM_IMPL(virQEMUCaps,
"uefi-vars", /* QEMU_CAPS_DEVICE_UEFI_VARS */
"query-block-flat", /* QEMU_CAPS_QUERY_BLOCK_FLAT */
"amd-iommu.xtsup", /* QEMU_CAPS_AMD_IOMMU_XTSUP */
+
+ /* 495 */
+ "blockdev-mirror.target-is-zero", /* QEMU_CAPS_BLOCKDEV_MIRROR_TARGET_IS_ZERO */
);
@@ -1648,6 +1651,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = {
{ "blockdev-add/arg-type/+nbd/tls-hostname", QEMU_CAPS_BLOCKDEV_NBD_TLS_HOSTNAME },
{ "blockdev-add/arg-type/+qcow2/discard-no-unref", QEMU_CAPS_QCOW2_DISCARD_NO_UNREF },
{ "blockdev-add/arg-type/+virtio-blk-vhost-vdpa/$fdset", QEMU_CAPS_DEVICE_VIRTIO_BLK_VHOST_VDPA},
+ { "blockdev-mirror/arg-type/target-is-zero", QEMU_CAPS_BLOCKDEV_MIRROR_TARGET_IS_ZERO },
{ "calc-dirty-rate/arg-type/mode", QEMU_CAPS_DIRTYRATE_MODE },
{ "chardev-add/arg-type/backend/+socket/data/reconnect-ms", QEMU_CAPS_CHARDEV_RECONNECT_MILISECONDS },
{ "chardev-add/arg-type/backend/+qemu-vdagent", QEMU_CAPS_CHARDEV_QEMU_VDAGENT },
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index b93d1532ff..c26e06104d 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -739,6 +739,9 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
QEMU_CAPS_QUERY_BLOCK_FLAT, /* 'query-block' command supports 'flat' */
QEMU_CAPS_AMD_IOMMU_XTSUP, /* amd-iommu.xtsup */
+ /* 495 */
+ QEMU_CAPS_BLOCKDEV_MIRROR_TARGET_IS_ZERO, /* 'blockdev-mirror' supports 'target-is-zero' */
+
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
diff --git a/tests/qemucapabilitiesdata/caps_10.1.0_s390x.xml b/tests/qemucapabilitiesdata/caps_10.1.0_s390x.xml
index f33b366db8..584a1b304c 100644
--- a/tests/qemucapabilitiesdata/caps_10.1.0_s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_10.1.0_s390x.xml
@@ -143,6 +143,7 @@
<flag name='virtio-iommu.aw-bits'/>
<flag name='iommufd'/>
<flag name='uefi-vars'/>
+ <flag name='blockdev-mirror.target-is-zero'/>
<version>10001000</version>
<microcodeVersion>39100286</microcodeVersion>
<package>v10.1.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_10.1.0_x86_64+inteltdx.xml b/tests/qemucapabilitiesdata/caps_10.1.0_x86_64+inteltdx.xml
index 05de206987..6dd00c360f 100644
--- a/tests/qemucapabilitiesdata/caps_10.1.0_x86_64+inteltdx.xml
+++ b/tests/qemucapabilitiesdata/caps_10.1.0_x86_64+inteltdx.xml
@@ -196,6 +196,7 @@
<flag name='iommufd'/>
<flag name='uefi-vars'/>
<flag name='amd-iommu.xtsup'/>
+ <flag name='blockdev-mirror.target-is-zero'/>
<version>10001000</version>
<microcodeVersion>43100286</microcodeVersion>
<package>v10.1.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_10.1.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_10.1.0_x86_64.xml
index 5a2bc0d66f..e7a0818697 100644
--- a/tests/qemucapabilitiesdata/caps_10.1.0_x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_10.1.0_x86_64.xml
@@ -218,6 +218,7 @@
<flag name='iommufd'/>
<flag name='uefi-vars'/>
<flag name='amd-iommu.xtsup'/>
+ <flag name='blockdev-mirror.target-is-zero'/>
<version>10001000</version>
<microcodeVersion>43100286</microcodeVersion>
<package>v10.1.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml b/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml
index ac8f50b984..df3e2a8275 100644
--- a/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml
@@ -185,6 +185,7 @@
<flag name='virtio-iommu.aw-bits'/>
<flag name='iommufd'/>
<flag name='uefi-vars'/>
+ <flag name='blockdev-mirror.target-is-zero'/>
<version>10002000</version>
<microcodeVersion>61700287</microcodeVersion>
<package>v10.2.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_10.2.0_x86_64+mshv.xml b/tests/qemucapabilitiesdata/caps_10.2.0_x86_64+mshv.xml
index 05a28f6ddc..54018639ad 100644
--- a/tests/qemucapabilitiesdata/caps_10.2.0_x86_64+mshv.xml
+++ b/tests/qemucapabilitiesdata/caps_10.2.0_x86_64+mshv.xml
@@ -206,6 +206,7 @@
<flag name='iommufd'/>
<flag name='uefi-vars'/>
<flag name='amd-iommu.xtsup'/>
+ <flag name='blockdev-mirror.target-is-zero'/>
<version>10002000</version>
<microcodeVersion>43100287</microcodeVersion>
<package>v10.2.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_10.2.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_10.2.0_x86_64.xml
index 29ca620345..d5cc279e13 100644
--- a/tests/qemucapabilitiesdata/caps_10.2.0_x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_10.2.0_x86_64.xml
@@ -219,6 +219,7 @@
<flag name='iommufd'/>
<flag name='uefi-vars'/>
<flag name='amd-iommu.xtsup'/>
+ <flag name='blockdev-mirror.target-is-zero'/>
<version>10002000</version>
<microcodeVersion>43100287</microcodeVersion>
<package>v10.2.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml b/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml
index bca13980ce..28cd421f12 100644
--- a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml
@@ -187,6 +187,7 @@
<flag name='iommufd'/>
<flag name='uefi-vars'/>
<flag name='query-block-flat'/>
+ <flag name='blockdev-mirror.target-is-zero'/>
<version>10002050</version>
<microcodeVersion>61700286</microcodeVersion>
<package>v10.2.0-2062-g084a6c6e73</package>
diff --git a/tests/qemucapabilitiesdata/caps_11.0.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_11.0.0_x86_64.xml
index 2e20a6f3b2..d8c39368d2 100644
--- a/tests/qemucapabilitiesdata/caps_11.0.0_x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_11.0.0_x86_64.xml
@@ -221,6 +221,7 @@
<flag name='uefi-vars'/>
<flag name='query-block-flat'/>
<flag name='amd-iommu.xtsup'/>
+ <flag name='blockdev-mirror.target-is-zero'/>
<version>10002050</version>
<microcodeVersion>43100286</microcodeVersion>
<package>v10.2.0-2062-g084a6c6e73</package>
--
2.53.0
© 2016 - 2026 Red Hat, Inc.