qemu: capabilities: Introduce QEMU_CAPS_SNAPSHOT_INTERNAL_QMP capability

The 'snapshot-save/delete' QMP commands were introduced in QEMU 6.0.0,
so we add a compatible capability to check if target QEMU binary supports it.

Signed-off-by: Nikolai Barybin <nikolai.barybin@virtuozzo.com>
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Nikolai Barybin via Devel 2024-07-17 21:21:39 +03:00 committed by Peter Krempa
parent ce4ed8deef
commit 9df1453db8
31 changed files with 36 additions and 0 deletions

View File

@ -715,6 +715,9 @@ VIR_ENUM_IMPL(virQEMUCaps,
"acpi-erst", /* QEMU_CAPS_DEVICE_ACPI_ERST */ "acpi-erst", /* QEMU_CAPS_DEVICE_ACPI_ERST */
"intel-iommu.dma-translation", /* QEMU_CAPS_INTEL_IOMMU_DMA_TRANSLATION */ "intel-iommu.dma-translation", /* QEMU_CAPS_INTEL_IOMMU_DMA_TRANSLATION */
"machine-i8042-opt", /* QEMU_CAPS_MACHINE_I8042_OPT */ "machine-i8042-opt", /* QEMU_CAPS_MACHINE_I8042_OPT */
/* 465 */
"snapshot-internal-qmp", /* QEMU_CAPS_SNAPSHOT_INTERNAL_QMP */
); );
@ -1235,6 +1238,7 @@ struct virQEMUCapsStringFlags virQEMUCapsCommands[] = {
{ "query-stats", QEMU_CAPS_QUERY_STATS }, { "query-stats", QEMU_CAPS_QUERY_STATS },
{ "query-stats-schemas", QEMU_CAPS_QUERY_STATS_SCHEMAS }, { "query-stats-schemas", QEMU_CAPS_QUERY_STATS_SCHEMAS },
{ "display-reload", QEMU_CAPS_DISPLAY_RELOAD }, { "display-reload", QEMU_CAPS_DISPLAY_RELOAD },
{ "snapshot-save", QEMU_CAPS_SNAPSHOT_INTERNAL_QMP },
}; };
struct virQEMUCapsStringFlags virQEMUCapsMigration[] = { struct virQEMUCapsStringFlags virQEMUCapsMigration[] = {

View File

@ -695,6 +695,9 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
QEMU_CAPS_INTEL_IOMMU_DMA_TRANSLATION, /* intel-iommu.dma-translation */ QEMU_CAPS_INTEL_IOMMU_DMA_TRANSLATION, /* intel-iommu.dma-translation */
QEMU_CAPS_MACHINE_I8042_OPT, /* -machine xxx,i8042=on/off; use virQEMUCapsSupportsI8042Toggle() to query this capability */ QEMU_CAPS_MACHINE_I8042_OPT, /* -machine xxx,i8042=on/off; use virQEMUCapsSupportsI8042Toggle() to query this capability */
/* 465 */
QEMU_CAPS_SNAPSHOT_INTERNAL_QMP, /* internal snapshot support via QMP commands 'snapshot-save'/'snapshot-delete' */
QEMU_CAPS_LAST /* this must always be the last item */ QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags; } virQEMUCapsFlags;

View File

@ -138,6 +138,7 @@
<flag name='usb-mtp'/> <flag name='usb-mtp'/>
<flag name='machine.virt.ras'/> <flag name='machine.virt.ras'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='snapshot-internal-qmp'/>
<version>6000000</version> <version>6000000</version>
<microcodeVersion>61700242</microcodeVersion> <microcodeVersion>61700242</microcodeVersion>
<package>v6.0.0</package> <package>v6.0.0</package>

View File

@ -94,6 +94,7 @@
<flag name='virtio-crypto'/> <flag name='virtio-crypto'/>
<flag name='display-reload'/> <flag name='display-reload'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='snapshot-internal-qmp'/>
<version>6000000</version> <version>6000000</version>
<microcodeVersion>39100242</microcodeVersion> <microcodeVersion>39100242</microcodeVersion>
<package>qemu-6.0.0-20210517.1.4ff77070.fc33</package> <package>qemu-6.0.0-20210517.1.4ff77070.fc33</package>

View File

@ -173,6 +173,7 @@
<flag name='display-reload'/> <flag name='display-reload'/>
<flag name='usb-mtp'/> <flag name='usb-mtp'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='snapshot-internal-qmp'/>
<version>6000000</version> <version>6000000</version>
<microcodeVersion>43100242</microcodeVersion> <microcodeVersion>43100242</microcodeVersion>
<package>v6.0.0</package> <package>v6.0.0</package>

View File

@ -179,6 +179,7 @@
<flag name='display-reload'/> <flag name='display-reload'/>
<flag name='usb-mtp'/> <flag name='usb-mtp'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='snapshot-internal-qmp'/>
<version>6001000</version> <version>6001000</version>
<microcodeVersion>43100243</microcodeVersion> <microcodeVersion>43100243</microcodeVersion>
<package>v6.1.0</package> <package>v6.1.0</package>

View File

@ -151,6 +151,7 @@
<flag name='usb-mtp'/> <flag name='usb-mtp'/>
<flag name='machine.virt.ras'/> <flag name='machine.virt.ras'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='snapshot-internal-qmp'/>
<version>6001050</version> <version>6001050</version>
<microcodeVersion>61700244</microcodeVersion> <microcodeVersion>61700244</microcodeVersion>
<package></package> <package></package>

View File

@ -139,6 +139,7 @@
<flag name='display-reload'/> <flag name='display-reload'/>
<flag name='usb-mtp'/> <flag name='usb-mtp'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='snapshot-internal-qmp'/>
<version>6002000</version> <version>6002000</version>
<microcodeVersion>42900244</microcodeVersion> <microcodeVersion>42900244</microcodeVersion>
<package>v6.2.0</package> <package>v6.2.0</package>

View File

@ -181,6 +181,7 @@
<flag name='display-reload'/> <flag name='display-reload'/>
<flag name='usb-mtp'/> <flag name='usb-mtp'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='snapshot-internal-qmp'/>
<version>6002000</version> <version>6002000</version>
<microcodeVersion>43100244</microcodeVersion> <microcodeVersion>43100244</microcodeVersion>
<package>v6.2.0</package> <package>v6.2.0</package>

View File

@ -160,6 +160,7 @@
<flag name='machine.virt.ras'/> <flag name='machine.virt.ras'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='snapshot-internal-qmp'/>
<version>6002092</version> <version>6002092</version>
<microcodeVersion>61700243</microcodeVersion> <microcodeVersion>61700243</microcodeVersion>
<package>v7.0.0-rc2</package> <package>v7.0.0-rc2</package>

View File

@ -160,6 +160,7 @@
<flag name='machine.virt.ras'/> <flag name='machine.virt.ras'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='snapshot-internal-qmp'/>
<version>6002092</version> <version>6002092</version>
<microcodeVersion>61700243</microcodeVersion> <microcodeVersion>61700243</microcodeVersion>
<package>v7.0.0-rc2</package> <package>v7.0.0-rc2</package>

View File

@ -158,6 +158,7 @@
<flag name='usb-mtp'/> <flag name='usb-mtp'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='snapshot-internal-qmp'/>
<version>7000000</version> <version>7000000</version>
<microcodeVersion>42900243</microcodeVersion> <microcodeVersion>42900243</microcodeVersion>
<package>v7.0.0</package> <package>v7.0.0</package>

View File

@ -189,6 +189,7 @@
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='machine-i8042-opt'/> <flag name='machine-i8042-opt'/>
<flag name='snapshot-internal-qmp'/>
<version>7000000</version> <version>7000000</version>
<microcodeVersion>43100243</microcodeVersion> <microcodeVersion>43100243</microcodeVersion>
<package>v7.0.0</package> <package>v7.0.0</package>

View File

@ -159,6 +159,7 @@
<flag name='usb-mtp'/> <flag name='usb-mtp'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='snapshot-internal-qmp'/>
<version>7001000</version> <version>7001000</version>
<microcodeVersion>42900244</microcodeVersion> <microcodeVersion>42900244</microcodeVersion>
<package>v7.1.0</package> <package>v7.1.0</package>

View File

@ -194,6 +194,7 @@
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='intel-iommu.dma-translation'/> <flag name='intel-iommu.dma-translation'/>
<flag name='machine-i8042-opt'/> <flag name='machine-i8042-opt'/>
<flag name='snapshot-internal-qmp'/>
<version>7001000</version> <version>7001000</version>
<microcodeVersion>43100244</microcodeVersion> <microcodeVersion>43100244</microcodeVersion>
<package>v7.1.0</package> <package>v7.1.0</package>

View File

@ -154,6 +154,7 @@
<flag name='usb-mtp'/> <flag name='usb-mtp'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='snapshot-internal-qmp'/>
<version>7002000</version> <version>7002000</version>
<microcodeVersion>0</microcodeVersion> <microcodeVersion>0</microcodeVersion>
<package>qemu-7.2.0-6.fc37</package> <package>qemu-7.2.0-6.fc37</package>

View File

@ -198,6 +198,7 @@
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='intel-iommu.dma-translation'/> <flag name='intel-iommu.dma-translation'/>
<flag name='machine-i8042-opt'/> <flag name='machine-i8042-opt'/>
<flag name='snapshot-internal-qmp'/>
<version>7002000</version> <version>7002000</version>
<microcodeVersion>43100245</microcodeVersion> <microcodeVersion>43100245</microcodeVersion>
<package>v7.2.0</package> <package>v7.2.0</package>

View File

@ -198,6 +198,7 @@
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='intel-iommu.dma-translation'/> <flag name='intel-iommu.dma-translation'/>
<flag name='machine-i8042-opt'/> <flag name='machine-i8042-opt'/>
<flag name='snapshot-internal-qmp'/>
<version>7002000</version> <version>7002000</version>
<microcodeVersion>43100245</microcodeVersion> <microcodeVersion>43100245</microcodeVersion>
<package>v7.2.0</package> <package>v7.2.0</package>

View File

@ -141,6 +141,7 @@
<flag name='display-reload'/> <flag name='display-reload'/>
<flag name='usb-mtp'/> <flag name='usb-mtp'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='snapshot-internal-qmp'/>
<version>7002050</version> <version>7002050</version>
<microcodeVersion>0</microcodeVersion> <microcodeVersion>0</microcodeVersion>
<package>v7.2.0-333-g222059a0fc</package> <package>v7.2.0-333-g222059a0fc</package>

View File

@ -202,6 +202,7 @@
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='intel-iommu.dma-translation'/> <flag name='intel-iommu.dma-translation'/>
<flag name='machine-i8042-opt'/> <flag name='machine-i8042-opt'/>
<flag name='snapshot-internal-qmp'/>
<version>8000000</version> <version>8000000</version>
<microcodeVersion>43100244</microcodeVersion> <microcodeVersion>43100244</microcodeVersion>
<package>v8.0.0</package> <package>v8.0.0</package>

View File

@ -122,6 +122,7 @@
<flag name='display-reload'/> <flag name='display-reload'/>
<flag name='usb-mtp'/> <flag name='usb-mtp'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='snapshot-internal-qmp'/>
<version>8001000</version> <version>8001000</version>
<microcodeVersion>39100245</microcodeVersion> <microcodeVersion>39100245</microcodeVersion>
<package>v8.1.0</package> <package>v8.1.0</package>

View File

@ -204,6 +204,7 @@
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='intel-iommu.dma-translation'/> <flag name='intel-iommu.dma-translation'/>
<flag name='machine-i8042-opt'/> <flag name='machine-i8042-opt'/>
<flag name='snapshot-internal-qmp'/>
<version>8001000</version> <version>8001000</version>
<microcodeVersion>43100245</microcodeVersion> <microcodeVersion>43100245</microcodeVersion>
<package>v8.1.0</package> <package>v8.1.0</package>

View File

@ -169,6 +169,7 @@
<flag name='virtio-sound'/> <flag name='virtio-sound'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='snapshot-internal-qmp'/>
<version>8002000</version> <version>8002000</version>
<microcodeVersion>61700246</microcodeVersion> <microcodeVersion>61700246</microcodeVersion>
<package>v8.2.0</package> <package>v8.2.0</package>

View File

@ -176,6 +176,7 @@
<flag name='virtio-sound'/> <flag name='virtio-sound'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='snapshot-internal-qmp'/>
<version>8002000</version> <version>8002000</version>
<microcodeVersion>0</microcodeVersion> <microcodeVersion>0</microcodeVersion>
<package>qemu-8.2.0-7.fc39</package> <package>qemu-8.2.0-7.fc39</package>

View File

@ -159,6 +159,7 @@
<flag name='virtio-sound'/> <flag name='virtio-sound'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='snapshot-internal-qmp'/>
<version>8002000</version> <version>8002000</version>
<microcodeVersion>106300246</microcodeVersion> <microcodeVersion>106300246</microcodeVersion>
<package>v8.2.0</package> <package>v8.2.0</package>

View File

@ -123,6 +123,7 @@
<flag name='usb-mtp'/> <flag name='usb-mtp'/>
<flag name='virtio-sound'/> <flag name='virtio-sound'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='snapshot-internal-qmp'/>
<version>8002000</version> <version>8002000</version>
<microcodeVersion>39100246</microcodeVersion> <microcodeVersion>39100246</microcodeVersion>
<package>v8.2.0</package> <package>v8.2.0</package>

View File

@ -207,6 +207,7 @@
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='intel-iommu.dma-translation'/> <flag name='intel-iommu.dma-translation'/>
<flag name='machine-i8042-opt'/> <flag name='machine-i8042-opt'/>
<flag name='snapshot-internal-qmp'/>
<version>8002000</version> <version>8002000</version>
<microcodeVersion>43100246</microcodeVersion> <microcodeVersion>43100246</microcodeVersion>
<package>v8.2.0</package> <package>v8.2.0</package>

View File

@ -79,6 +79,7 @@
<flag name='blockjob.backing-mask-protocol'/> <flag name='blockjob.backing-mask-protocol'/>
<flag name='display-reload'/> <flag name='display-reload'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='snapshot-internal-qmp'/>
<version>9000000</version> <version>9000000</version>
<microcodeVersion>0</microcodeVersion> <microcodeVersion>0</microcodeVersion>
<package>qemu-9.0.0-1.fc40</package> <package>qemu-9.0.0-1.fc40</package>

View File

@ -209,6 +209,7 @@
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='intel-iommu.dma-translation'/> <flag name='intel-iommu.dma-translation'/>
<flag name='machine-i8042-opt'/> <flag name='machine-i8042-opt'/>
<flag name='snapshot-internal-qmp'/>
<version>9000000</version> <version>9000000</version>
<microcodeVersion>43100245</microcodeVersion> <microcodeVersion>43100245</microcodeVersion>
<package>v9.0.0</package> <package>v9.0.0</package>

View File

@ -167,6 +167,7 @@
<flag name='virtio-sound'/> <flag name='virtio-sound'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='snapshot-internal-qmp'/>
<version>9001000</version> <version>9001000</version>
<microcodeVersion>0</microcodeVersion> <microcodeVersion>0</microcodeVersion>
<package>v9.1.0</package> <package>v9.1.0</package>

View File

@ -207,6 +207,7 @@
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='intel-iommu.dma-translation'/> <flag name='intel-iommu.dma-translation'/>
<flag name='machine-i8042-opt'/> <flag name='machine-i8042-opt'/>
<flag name='snapshot-internal-qmp'/>
<version>9001000</version> <version>9001000</version>
<microcodeVersion>43100246</microcodeVersion> <microcodeVersion>43100246</microcodeVersion>
<package>v9.1.0</package> <package>v9.1.0</package>