]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: capabilities: Introduce QEMU_CAPS_COMPAT_DEPRECATED
authorPeter Krempa <pkrempa@redhat.com>
Thu, 30 Apr 2020 11:14:32 +0000 (13:14 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 6 Apr 2021 15:07:01 +0000 (17:07 +0200)
The capability is asserted if qemu supports the -compat
deprecated-input= and deprecated-output= settings to control what should
happen if deprecated fields are used in QMP.

This will be used for a developer/tester-oriented setting which will
aid us in catching use of deprecated settings sooner.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
src/qemu/qemu_capabilities.c
src/qemu/qemu_capabilities.h
tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml

index ea24e2d6a58596cba192d4938e1bf48dc406894b..41ef199a79f7f36295e63106a9c3562a58fa507e 100644 (file)
@@ -625,6 +625,9 @@ VIR_ENUM_IMPL(virQEMUCaps,
               "blockdev-backup",
               "object.qapified",
               "rotation-rate",
+
+              /* 400 */
+              "compat-deprecated",
     );
 
 
@@ -5188,6 +5191,13 @@ virQEMUCapsInitProcessCapsInterlock(virQEMUCapsPtr qemuCaps)
 
     if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV))
         virQEMUCapsSet(qemuCaps, QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI);
+
+    /* The -compat qemu command line argument is implemented using a newer
+     * method which doesn't show up in query-command-line-options. As we'll use
+     * it only for development and testing purposes we can base the capability
+     * on a not entirely related witness. */
+    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_QAPIFIED))
+        virQEMUCapsSet(qemuCaps, QEMU_CAPS_COMPAT_DEPRECATED);
 }
 
 
index a70c00a265193321b62fe614b93739b951a61158..c553a5f4a4fac5231371c5257137fa53c39cf824 100644 (file)
@@ -606,6 +606,9 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
     QEMU_CAPS_OBJECT_QAPIFIED, /* parameters for object-add are formally described */
     QEMU_CAPS_ROTATION_RATE, /* scsi-disk / ide-drive rotation-rate prop */
 
+    /* 400 */
+    QEMU_CAPS_COMPAT_DEPRECATED, /* -compat deprecated-(input|output) is supported */
+
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
 
index f260c60d5a7c5aaf4c8ca2038e7ddd94d69154e0..3a1e65ae44c90c25618cf108577b1df30c44cb06 100644 (file)
   <flag name='blockdev-backup'/>
   <flag name='object.qapified'/>
   <flag name='rotation-rate'/>
+  <flag name='compat-deprecated'/>
   <version>5002050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100242</microcodeVersion>