[PATCH 3/4] qemu: capabilities: Introduce QEMU_CAPS_QUERY_BLOCK_FLAT

Peter Krempa via Devel posted 4 patches 2 weeks ago
[PATCH 3/4] qemu: capabilities: Introduce QEMU_CAPS_QUERY_BLOCK_FLAT
Posted by Peter Krempa via Devel 2 weeks ago
From: Peter Krempa <pkrempa@redhat.com>

The 'flat' mode of 'query-block' allows ommiting information we don't
actually read. Add a capability which will allow us to request the new
mode.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
---
 src/qemu/qemu_capabilities.c                       | 2 ++
 src/qemu/qemu_capabilities.h                       | 1 +
 tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml | 1 +
 tests/qemucapabilitiesdata/caps_11.0.0_x86_64.xml  | 1 +
 4 files changed, 5 insertions(+)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 5d75c23072..bb385077cd 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -762,6 +762,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
               "scsi-block.migrate-pr", /* QEMU_CAPS_DEVICE_SCSI_BLOCK_MIGRATE_PR */
               "iommufd", /* QEMU_CAPS_OBJECT_IOMMUFD */
               "uefi-vars", /* QEMU_CAPS_DEVICE_UEFI_VARS */
+              "query-block-flat", /* QEMU_CAPS_QUERY_BLOCK_FLAT */
     );


@@ -1659,6 +1660,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = {
     { "netdev_add/arg-type/+stream/reconnect-ms", QEMU_CAPS_NETDEV_STREAM_RECONNECT_MILISECONDS },
     { "object-add/arg-type/+sev-guest/kernel-hashes", QEMU_CAPS_SEV_GUEST_KERNEL_HASHES },
     { "object-add/arg-type/+iothread/thread-pool-max", QEMU_CAPS_IOTHREAD_THREAD_POOL_MAX },
+    { "query-block/arg-type/flat", QEMU_CAPS_QUERY_BLOCK_FLAT },
     { "query-display-options/ret-type/+egl-headless/rendernode", QEMU_CAPS_EGL_HEADLESS_RENDERNODE },
     { "query-display-options/ret-type/+sdl", QEMU_CAPS_SDL },
     { "query-display-options/ret-type/+egl-headless", QEMU_CAPS_EGL_HEADLESS },
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index a48e1d0367..08a2cd23f0 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -736,6 +736,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
     QEMU_CAPS_DEVICE_SCSI_BLOCK_MIGRATE_PR, /* persistent reservation migration support */
     QEMU_CAPS_OBJECT_IOMMUFD, /* -object iommufd */
     QEMU_CAPS_DEVICE_UEFI_VARS, /* -device uefi-vars-{x64,sysbus} */
+    QEMU_CAPS_QUERY_BLOCK_FLAT, /* 'query-block' command supports 'flat' */

     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
diff --git a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml b/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml
index b6d22e3418..bca13980ce 100644
--- a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml
@@ -186,6 +186,7 @@
   <flag name='scsi-block.migrate-pr'/>
   <flag name='iommufd'/>
   <flag name='uefi-vars'/>
+  <flag name='query-block-flat'/>
   <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 1ab83cfa19..9e249cb422 100644
--- a/tests/qemucapabilitiesdata/caps_11.0.0_x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_11.0.0_x86_64.xml
@@ -219,6 +219,7 @@
   <flag name='scsi-block.migrate-pr'/>
   <flag name='iommufd'/>
   <flag name='uefi-vars'/>
+  <flag name='query-block-flat'/>
   <version>10002050</version>
   <microcodeVersion>43100286</microcodeVersion>
   <package>v10.2.0-2062-g084a6c6e73</package>
-- 
2.53.0