On Wed, Jul 17, 2024 at 21:21:39 +0300, Nikolai Barybin via Devel wrote:
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(a)virtuozzo.com>
---
src/qemu/qemu_capabilities.c | 4 ++++
src/qemu/qemu_capabilities.h | 2 ++
[...]
30 files changed, 62 insertions(+)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 17db563b09..951dd367b0 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -712,6 +712,8 @@ VIR_ENUM_IMPL(virQEMUCaps,
/* 460 */
"sev-snp-guest", /* QEMU_CAPS_SEV_SNP_GUEST */
"netdev.user", /* QEMU_CAPS_NETDEV_USER */
+ "snapshot-save", /* QEMU_CAPS_SNAPSHOT_SAVE */
+ "snapshot-delete", /* QEMU_CAPS_SNAPSHOT_DELETE */
Reallistically only one of them is needed as there won't be a qemu which
would have just one. I'll call it QEMU_CAPS_SNAPSHOT_INTERNAL_QMP.
);
@@ -1232,6 +1234,8 @@ 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_SAVE },
+ { "snapshot-delete", QEMU_CAPS_SNAPSHOT_DELETE },
};
struct virQEMUCapsStringFlags virQEMUCapsMigration[] = {
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 910181993c..aad3fd1bf1 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -691,6 +691,8 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check
*/
/* 460 */
QEMU_CAPS_SEV_SNP_GUEST, /* -object sev-snp-guest */
QEMU_CAPS_NETDEV_USER, /* -netdev user */
+ QEMU_CAPS_SNAPSHOT_SAVE, /* 'snapshot-save' qmp command is supported */
+ QEMU_CAPS_SNAPSHOT_DELETE, /* 'snapshot-delete' qmp command is supported */
QEMU_CAPS_LAST /* this must always be the last item */