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 <[email protected]>
> ---
> 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 */