[PATCH 2/6] qemu: capabilities: Introduce QEMU_CAPS_COMPAT_DEPRECATED
Martin Kletzander
mkletzan at redhat.com
Wed Mar 31 22:05:55 UTC 2021
On Fri, Mar 19, 2021 at 07:33:50PM +0100, Peter Krempa wrote:
>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 at redhat.com>
>---
> src/qemu/qemu_capabilities.c | 8 ++++++++
> src/qemu/qemu_capabilities.h | 1 +
> tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 +
> 3 files changed, 10 insertions(+)
>
>diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
>index dc1b10cd66..beea57caf6 100644
>--- a/src/qemu/qemu_capabilities.c
>+++ b/src/qemu/qemu_capabilities.c
>@@ -624,6 +624,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
> "audiodev",
> "blockdev-backup",
> "object.qapified",
>+ "compat-deprecated",
> );
>
>
>@@ -5187,6 +5188,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);
Or it could be just enabled by default since it should be used by devs
and CI only.
> }
>
>
>diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
>index da51a788fa..a66a48a351 100644
>--- a/src/qemu/qemu_capabilities.h
>+++ b/src/qemu/qemu_capabilities.h
>@@ -604,6 +604,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
> QEMU_CAPS_AUDIODEV, /* -audiodev instead of QEMU_AUDIO_DRV */
> QEMU_CAPS_BLOCKDEV_BACKUP, /* qemu supports the blockdev-backup job */
> QEMU_CAPS_OBJECT_QAPIFIED, /* parameters for object-add are formally described */
>+ QEMU_CAPS_COMPAT_DEPRECATED, /* -compat deprecated-(input|output) is supported */
>
> QEMU_CAPS_LAST /* this must always be the last item */
> } virQEMUCapsFlags;
>diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
>index 555b6b5317..458ae66719 100644
>--- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
>+++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
>@@ -260,6 +260,7 @@
> <flag name='audiodev'/>
> <flag name='blockdev-backup'/>
> <flag name='object.qapified'/>
>+ <flag name='compat-deprecated'/>
> <version>5002050</version>
> <kvmVersion>0</kvmVersion>
> <microcodeVersion>43100242</microcodeVersion>
>--
>2.29.2
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20210401/9eee734e/attachment-0001.sig>
More information about the libvir-list
mailing list