]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: capabilities: Introduce QEMU_CAPS_SNAPSHOT_INTERNAL_QMP capability
authorNikolai Barybin via Devel <devel@lists.libvirt.org>
Wed, 17 Jul 2024 18:21:39 +0000 (21:21 +0300)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 9 Oct 2024 13:22:00 +0000 (15:22 +0200)
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>
31 files changed:
src/qemu/qemu_capabilities.c
src/qemu/qemu_capabilities.h
tests/qemucapabilitiesdata/caps_6.0.0_aarch64.xml
tests/qemucapabilitiesdata/caps_6.0.0_s390x.xml
tests/qemucapabilitiesdata/caps_6.0.0_x86_64.xml
tests/qemucapabilitiesdata/caps_6.1.0_x86_64.xml
tests/qemucapabilitiesdata/caps_6.2.0_aarch64.xml
tests/qemucapabilitiesdata/caps_6.2.0_ppc64.xml
tests/qemucapabilitiesdata/caps_6.2.0_x86_64.xml
tests/qemucapabilitiesdata/caps_7.0.0_aarch64+hvf.xml
tests/qemucapabilitiesdata/caps_7.0.0_aarch64.xml
tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml
tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml
tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml
tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml
tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml
tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml
tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml
tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml
tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml
tests/qemucapabilitiesdata/caps_8.1.0_s390x.xml
tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml
tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml
tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml
tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.xml
tests/qemucapabilitiesdata/caps_8.2.0_s390x.xml
tests/qemucapabilitiesdata/caps_8.2.0_x86_64.xml
tests/qemucapabilitiesdata/caps_9.0.0_sparc.xml
tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml
tests/qemucapabilitiesdata/caps_9.1.0_riscv64.xml
tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml

index 0d4f8a5fcd5f79c123b6b41ea967a432a02eb006..ac135aa30102fa6ecbe2883cba9ef2309770c74e 100644 (file)
@@ -715,6 +715,9 @@ VIR_ENUM_IMPL(virQEMUCaps,
               "acpi-erst", /* QEMU_CAPS_DEVICE_ACPI_ERST */
               "intel-iommu.dma-translation", /* QEMU_CAPS_INTEL_IOMMU_DMA_TRANSLATION */
               "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-schemas", QEMU_CAPS_QUERY_STATS_SCHEMAS },
     { "display-reload", QEMU_CAPS_DISPLAY_RELOAD },
+    { "snapshot-save", QEMU_CAPS_SNAPSHOT_INTERNAL_QMP },
 };
 
 struct virQEMUCapsStringFlags virQEMUCapsMigration[] = {
index 736d34179e43478304cb4b095a8d519e88fd4a46..091de8999dc5758c27368dff598b985ed5788e5f 100644 (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_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 */
 } virQEMUCapsFlags;
 
index 83439f3d63b42db96143708a5c64e0627cec45f6..a02018a467ff298cf95186b9a115e416f399918c 100644 (file)
   <flag name='usb-mtp'/>
   <flag name='machine.virt.ras'/>
   <flag name='netdev.user'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>6000000</version>
   <microcodeVersion>61700242</microcodeVersion>
   <package>v6.0.0</package>
index 332b8091ee97284823db282041f2fc5dc2a98ccc..9d84d3bdc9626631847bcbfd86a622d6f271f34e 100644 (file)
@@ -94,6 +94,7 @@
   <flag name='virtio-crypto'/>
   <flag name='display-reload'/>
   <flag name='netdev.user'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>6000000</version>
   <microcodeVersion>39100242</microcodeVersion>
   <package>qemu-6.0.0-20210517.1.4ff77070.fc33</package>
index dc55e0ab3fe32ed55d0187225ef0f6c285ed0812..a8897fb80b88d4deae16189a9f0ff6f0134b2eb2 100644 (file)
   <flag name='display-reload'/>
   <flag name='usb-mtp'/>
   <flag name='netdev.user'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>6000000</version>
   <microcodeVersion>43100242</microcodeVersion>
   <package>v6.0.0</package>
index 1d5b8ea9d230f8e31304bd752bf0e4abe3fd0e85..0f2995a2d30b2a6fb0298ab169d31630f9c5f99f 100644 (file)
   <flag name='display-reload'/>
   <flag name='usb-mtp'/>
   <flag name='netdev.user'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>6001000</version>
   <microcodeVersion>43100243</microcodeVersion>
   <package>v6.1.0</package>
index 25049e1ab8915a422846515d975200d82e2846d4..5624ad95a1bf609d274bd720fd019cfc1aad87b2 100644 (file)
   <flag name='usb-mtp'/>
   <flag name='machine.virt.ras'/>
   <flag name='netdev.user'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>6001050</version>
   <microcodeVersion>61700244</microcodeVersion>
   <package></package>
index e321481949a232c016e2018e4387ab27fa55ec0d..d4172c31467b13cd1f840648fcafa8fd5b86b53e 100644 (file)
   <flag name='display-reload'/>
   <flag name='usb-mtp'/>
   <flag name='netdev.user'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>6002000</version>
   <microcodeVersion>42900244</microcodeVersion>
   <package>v6.2.0</package>
index f8f8bd95f45c13c8551309ad6dc80df15840e1f5..582b0e9b5245ae6c91342eb948ac854973f7d061 100644 (file)
   <flag name='display-reload'/>
   <flag name='usb-mtp'/>
   <flag name='netdev.user'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>6002000</version>
   <microcodeVersion>43100244</microcodeVersion>
   <package>v6.2.0</package>
index 13b67cc7bf768185ec4f728cadc5e4a67a21f20c..8bdb26e8a48f8735ad5d184bb814d3dd82f68b8e 100644 (file)
   <flag name='machine.virt.ras'/>
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>6002092</version>
   <microcodeVersion>61700243</microcodeVersion>
   <package>v7.0.0-rc2</package>
index a9fe9a201410a5d48c952f2a3935fb0d88765eea..697c1c255a783e1649cfdee61136b2542a713c50 100644 (file)
   <flag name='machine.virt.ras'/>
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>6002092</version>
   <microcodeVersion>61700243</microcodeVersion>
   <package>v7.0.0-rc2</package>
index 92636bc7d4566931da1dde0dd27ef41f2f47f2a5..e02f42c5e0e53153f94df132a6d97c4e0da4888d 100644 (file)
   <flag name='usb-mtp'/>
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>7000000</version>
   <microcodeVersion>42900243</microcodeVersion>
   <package>v7.0.0</package>
index 23b626aa164b308262d0c670225ce17008f1e542..fd317a9afa5946094ffc9ab19c6a38dc81774885 100644 (file)
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
   <flag name='machine-i8042-opt'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>7000000</version>
   <microcodeVersion>43100243</microcodeVersion>
   <package>v7.0.0</package>
index a851d89974f4d12737506804ce1157a54f441378..427aa1ace96f2a09f78744a4717a7ba6f7175ea9 100644 (file)
   <flag name='usb-mtp'/>
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>7001000</version>
   <microcodeVersion>42900244</microcodeVersion>
   <package>v7.1.0</package>
index 81c4cc474b35886ceae7e153fad33739a62f8b9b..32e4e8e1bb8bc265998bc68444235869fe5a41d9 100644 (file)
   <flag name='acpi-erst'/>
   <flag name='intel-iommu.dma-translation'/>
   <flag name='machine-i8042-opt'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>7001000</version>
   <microcodeVersion>43100244</microcodeVersion>
   <package>v7.1.0</package>
index 998c548556accbd7e56f9736db12916f2f5690a0..56cb66d3947a6de98ee21b42d467cf2f10b4ca52 100644 (file)
   <flag name='usb-mtp'/>
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>7002000</version>
   <microcodeVersion>0</microcodeVersion>
   <package>qemu-7.2.0-6.fc37</package>
index 18d74d6e8c6282a545fc1f374b7e2e2ac072ed7d..0ebcb94a3189013aebcd09919f0077919e359b87 100644 (file)
   <flag name='acpi-erst'/>
   <flag name='intel-iommu.dma-translation'/>
   <flag name='machine-i8042-opt'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>7002000</version>
   <microcodeVersion>43100245</microcodeVersion>
   <package>v7.2.0</package>
index fb52a30f04f418ccfada1355ff812fa995568f80..025ced01d9efe91199c1a58c6880d504ca6b169d 100644 (file)
   <flag name='acpi-erst'/>
   <flag name='intel-iommu.dma-translation'/>
   <flag name='machine-i8042-opt'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>7002000</version>
   <microcodeVersion>43100245</microcodeVersion>
   <package>v7.2.0</package>
index 03c0e99da56feb97ba42cf4b89c4f9080a913a81..7959d49c02c0bf1e34df0a01a914f9bb70114698 100644 (file)
   <flag name='display-reload'/>
   <flag name='usb-mtp'/>
   <flag name='netdev.user'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>7002050</version>
   <microcodeVersion>0</microcodeVersion>
   <package>v7.2.0-333-g222059a0fc</package>
index 459d05bf43e2f46a939ec15153256aa0f24f5216..5f45788b777edc2d9ae31631b4559351b1c3f7bf 100644 (file)
   <flag name='acpi-erst'/>
   <flag name='intel-iommu.dma-translation'/>
   <flag name='machine-i8042-opt'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>8000000</version>
   <microcodeVersion>43100244</microcodeVersion>
   <package>v8.0.0</package>
index c2211bfb121aa19f7497ee1699e5bb7e1704788c..16a3e3fbe0b93aea605965fabd37b324881b49c7 100644 (file)
   <flag name='display-reload'/>
   <flag name='usb-mtp'/>
   <flag name='netdev.user'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>8001000</version>
   <microcodeVersion>39100245</microcodeVersion>
   <package>v8.1.0</package>
index 289c87ff19f87c33e3b71e86f73fe6952efa3eb2..7dee7f94c2b851fb7f9fcd0e03259cc097474afb 100644 (file)
   <flag name='acpi-erst'/>
   <flag name='intel-iommu.dma-translation'/>
   <flag name='machine-i8042-opt'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>8001000</version>
   <microcodeVersion>43100245</microcodeVersion>
   <package>v8.1.0</package>
index 0043443880941a6b726f7fa3a6ddef1ad0703d2a..78082dbf3f0404902be0226b3ea91ee2f606a6f5 100644 (file)
   <flag name='virtio-sound'/>
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>8002000</version>
   <microcodeVersion>61700246</microcodeVersion>
   <package>v8.2.0</package>
index 16377a74e3aff26a29fac45a3c372cd149fb53cb..912eb45db675395f5c1bc9a78ca70ab345ee0caa 100644 (file)
   <flag name='virtio-sound'/>
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>8002000</version>
   <microcodeVersion>0</microcodeVersion>
   <package>qemu-8.2.0-7.fc39</package>
index eb80be7a06d191e7e9e71b3997eaac0c0316b1f2..60b980e256e580bebeb1af89f34d84d52133c759 100644 (file)
   <flag name='virtio-sound'/>
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>8002000</version>
   <microcodeVersion>106300246</microcodeVersion>
   <package>v8.2.0</package>
index e86088332ed8e08878b457374cc07748db9c8dac..8f3610408031c9165795ab99fd9d33b954da2ae6 100644 (file)
   <flag name='usb-mtp'/>
   <flag name='virtio-sound'/>
   <flag name='netdev.user'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>8002000</version>
   <microcodeVersion>39100246</microcodeVersion>
   <package>v8.2.0</package>
index e56d5dafa4a4b10f032b9552af29979040ad1016..51e14736cd118bf73999a23c7e7c0c59b1f4f389 100644 (file)
   <flag name='acpi-erst'/>
   <flag name='intel-iommu.dma-translation'/>
   <flag name='machine-i8042-opt'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>8002000</version>
   <microcodeVersion>43100246</microcodeVersion>
   <package>v8.2.0</package>
index 7fe971fc3a5769e1210173cb30b2657e47db90f6..1b56aebd489d7a7028ec2d50441e48b6156c404d 100644 (file)
@@ -79,6 +79,7 @@
   <flag name='blockjob.backing-mask-protocol'/>
   <flag name='display-reload'/>
   <flag name='netdev.user'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>9000000</version>
   <microcodeVersion>0</microcodeVersion>
   <package>qemu-9.0.0-1.fc40</package>
index 3f1f518d227de3758c7aca4b02cbdc37e8bc591c..4b64547b1153d5de842a84a490394704a63195ec 100644 (file)
   <flag name='acpi-erst'/>
   <flag name='intel-iommu.dma-translation'/>
   <flag name='machine-i8042-opt'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>9000000</version>
   <microcodeVersion>43100245</microcodeVersion>
   <package>v9.0.0</package>
index 20cf97cdf94ab26ebefd53fb5a7ef69c69ae8dec..1e7b1e622b342d5d90aad1e98d9c277cedcb997d 100644 (file)
   <flag name='virtio-sound'/>
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>9001000</version>
   <microcodeVersion>0</microcodeVersion>
   <package>v9.1.0</package>
index a6b3768dfd37863d278d08844b68e705cb753933..06600f48fb672464b6dec7b89ba3265953f80ad7 100644 (file)
   <flag name='acpi-erst'/>
   <flag name='intel-iommu.dma-translation'/>
   <flag name='machine-i8042-opt'/>
+  <flag name='snapshot-internal-qmp'/>
   <version>9001000</version>
   <microcodeVersion>43100246</microcodeVersion>
   <package>v9.1.0</package>