[RFC PATCH 43/43] qemu: capabilities: Probe QMP schema before probing commands

Peter Krempa pkrempa at redhat.com
Fri Apr 9 14:57:19 UTC 2021


All supported QEMU versions now support query-qmp-schema. In the future
it will be possible to use the output of query-qmp-schema to also detect
commands reliably.

Since we are at the point where we have the least amount of .replies
files needing changing for a long time, move the 'query-qmp-schema' bits
before 'query-commands' to prepare for the future.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/qemu/qemu_capabilities.c                  |     4 +-
 .../caps_2.11.0.s390x.replies                 | 24402 ++++----
 .../caps_2.11.0.x86_64.replies                | 25714 ++++-----
 .../caps_2.12.0.aarch64.replies               | 29184 +++++-----
 .../caps_2.12.0.ppc64.replies                 | 31498 +++++------
 .../caps_2.12.0.s390x.replies                 | 27150 ++++-----
 .../caps_2.12.0.x86_64.replies                | 30348 +++++-----
 .../caps_3.0.0.ppc64.replies                  | 32840 +++++------
 .../caps_3.0.0.riscv32.replies                | 21708 ++++----
 .../caps_3.0.0.riscv64.replies                | 21708 ++++----
 .../caps_3.0.0.s390x.replies                  | 28078 +++++-----
 .../caps_3.0.0.x86_64.replies                 | 31462 +++++------
 .../caps_3.1.0.ppc64.replies                  | 32540 +++++------
 .../caps_3.1.0.x86_64.replies                 | 32302 +++++------
 .../caps_4.0.0.aarch64.replies                | 31300 +++++------
 .../caps_4.0.0.ppc64.replies                  | 33522 +++++------
 .../caps_4.0.0.riscv32.replies                | 29066 +++++-----
 .../caps_4.0.0.riscv64.replies                | 29066 +++++-----
 .../caps_4.0.0.s390x.replies                  | 29544 +++++-----
 .../caps_4.0.0.x86_64.replies                 | 32926 +++++------
 .../caps_4.1.0.x86_64.replies                 | 34448 ++++++------
 .../caps_4.2.0.aarch64.replies                | 33728 ++++++------
 .../caps_4.2.0.ppc64.replies                  | 34230 ++++++------
 .../caps_4.2.0.s390x.replies                  | 31044 +++++------
 .../caps_4.2.0.x86_64.replies                 | 37040 ++++++-------
 .../caps_5.0.0.aarch64.replies                | 36328 ++++++------
 .../caps_5.0.0.ppc64.replies                  | 37728 ++++++-------
 .../caps_5.0.0.riscv64.replies                | 32792 +++++------
 .../caps_5.0.0.x86_64.replies                 | 39754 +++++++-------
 .../caps_5.1.0.sparc.replies                  | 25244 ++++-----
 .../caps_5.1.0.x86_64.replies                 | 41046 +++++++-------
 .../caps_5.2.0.aarch64.replies                | 38490 ++++++-------
 .../caps_5.2.0.ppc64.replies                  | 40514 +++++++-------
 .../caps_5.2.0.riscv64.replies                | 34452 ++++++------
 .../caps_5.2.0.s390x.replies                  | 35480 ++++++------
 .../caps_5.2.0.x86_64.replies                 | 42432 +++++++-------
 .../caps_6.0.0.x86_64.replies                 | 45838 ++++++++--------
 37 files changed, 587475 insertions(+), 587475 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index f1da65abd6..8b4c24b6ed 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -5289,6 +5289,8 @@ virQEMUCapsInitQMPMonitor(virQEMUCapsPtr qemuCaps,
     /* initiate all capabilities based on qemu version */
     virQEMUCapsInitQMPVersionCaps(qemuCaps);

+    if (virQEMUCapsProbeQMPSchemaCapabilities(qemuCaps, mon) < 0)
+        return -1;
     if (virQEMUCapsProbeQMPCommands(qemuCaps, mon) < 0)
         return -1;

@@ -5317,8 +5319,6 @@ virQEMUCapsInitQMPMonitor(virQEMUCapsPtr qemuCaps,
         return -1;
     if (virQEMUCapsProbeQMPMigrationCapabilities(qemuCaps, mon) < 0)
         return -1;
-    if (virQEMUCapsProbeQMPSchemaCapabilities(qemuCaps, mon) < 0)
-        return -1;
     if (virQEMUCapsProbeQMPGICCapabilities(qemuCaps, mon) < 0)
         return -1;
     if (virQEMUCapsProbeQMPSEVCapabilities(qemuCaps, mon) < 0)
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies
index 42846d9169..5eeeb42d19 100644
--- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies
@@ -39,15284 +39,15284 @@
 }

 {
-  "execute": "query-commands",
+  "execute": "query-qmp-schema",
   "id": "libvirt-4"
 }


[truncated - original patch was 27MiB]




More information about the libvir-list mailing list