qemu: Detect exit-on-error argument of migrate-incoming

The exit-on-error argument (added in QEMU 9.1.0) can be used to tell
QEMU not to exit when incoming migration fails so that the error can be
retrieved via QMP. This patch adds a new capability bit indicating
support for the new argument.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Jiri Denemark 2024-12-09 14:47:50 +01:00
parent 9636ac40a3
commit 3100f43a1d
7 changed files with 12 additions and 0 deletions

View File

@ -722,6 +722,9 @@ VIR_ENUM_IMPL(virQEMUCaps,
"virtio-ccw.loadparm", /* QEMU_CAPS_VIRTIO_CCW_DEVICE_LOADPARM */ "virtio-ccw.loadparm", /* QEMU_CAPS_VIRTIO_CCW_DEVICE_LOADPARM */
"netdev-stream-reconnect-miliseconds", /* QEMU_CAPS_NETDEV_STREAM_RECONNECT_MILISECONDS */ "netdev-stream-reconnect-miliseconds", /* QEMU_CAPS_NETDEV_STREAM_RECONNECT_MILISECONDS */
"query-cpu-model-expansion.deprecated-props", /* QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION_DEPRECATED_PROPS */ "query-cpu-model-expansion.deprecated-props", /* QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION_DEPRECATED_PROPS */
/* 470 */
"migrate-incoming.exit-on-error", /* QEMU_CAPS_MIGRATE_INCOMING_EXIT_ON_ERROR */
); );
@ -1596,6 +1599,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = {
{ "screendump/arg-type/format/^png", QEMU_CAPS_SCREENSHOT_FORMAT_PNG }, { "screendump/arg-type/format/^png", QEMU_CAPS_SCREENSHOT_FORMAT_PNG },
{ "set-numa-node/arg-type/+hmat-lb", QEMU_CAPS_NUMA_HMAT }, { "set-numa-node/arg-type/+hmat-lb", QEMU_CAPS_NUMA_HMAT },
{ "query-cpu-model-expansion/ret-type/deprecated-props", QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION_DEPRECATED_PROPS }, { "query-cpu-model-expansion/ret-type/deprecated-props", QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION_DEPRECATED_PROPS },
{ "migrate-incoming/arg-type/exit-on-error", QEMU_CAPS_MIGRATE_INCOMING_EXIT_ON_ERROR },
}; };
typedef struct _virQEMUCapsObjectTypeProps virQEMUCapsObjectTypeProps; typedef struct _virQEMUCapsObjectTypeProps virQEMUCapsObjectTypeProps;

View File

@ -702,6 +702,9 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
QEMU_CAPS_NETDEV_STREAM_RECONNECT_MILISECONDS, /* 'reconnect-ms' option for netdev stream supported */ QEMU_CAPS_NETDEV_STREAM_RECONNECT_MILISECONDS, /* 'reconnect-ms' option for netdev stream supported */
QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION_DEPRECATED_PROPS, /* query-cpu-model-expansion may report deprecated CPU properties */ QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION_DEPRECATED_PROPS, /* query-cpu-model-expansion may report deprecated CPU properties */
/* 470 */
QEMU_CAPS_MIGRATE_INCOMING_EXIT_ON_ERROR, /* exit-on-error argument of migrate-incoming command */
QEMU_CAPS_LAST /* this must always be the last item */ QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags; } virQEMUCapsFlags;

View File

@ -168,6 +168,7 @@
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='snapshot-internal-qmp'/> <flag name='snapshot-internal-qmp'/>
<flag name='migrate-incoming.exit-on-error'/>
<version>9001000</version> <version>9001000</version>
<microcodeVersion>0</microcodeVersion> <microcodeVersion>0</microcodeVersion>
<package>v9.1.0</package> <package>v9.1.0</package>

View File

@ -134,6 +134,7 @@
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='snapshot-internal-qmp'/> <flag name='snapshot-internal-qmp'/>
<flag name='query-cpu-model-expansion.deprecated-props'/> <flag name='query-cpu-model-expansion.deprecated-props'/>
<flag name='migrate-incoming.exit-on-error'/>
<version>9001000</version> <version>9001000</version>
<microcodeVersion>39100246</microcodeVersion> <microcodeVersion>39100246</microcodeVersion>
<package>v9.1.0</package> <package>v9.1.0</package>

View File

@ -208,6 +208,7 @@
<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'/> <flag name='snapshot-internal-qmp'/>
<flag name='migrate-incoming.exit-on-error'/>
<version>9001000</version> <version>9001000</version>
<microcodeVersion>43100246</microcodeVersion> <microcodeVersion>43100246</microcodeVersion>
<package>v9.1.0</package> <package>v9.1.0</package>

View File

@ -137,6 +137,7 @@
<flag name='virtio-ccw.loadparm'/> <flag name='virtio-ccw.loadparm'/>
<flag name='netdev-stream-reconnect-miliseconds'/> <flag name='netdev-stream-reconnect-miliseconds'/>
<flag name='query-cpu-model-expansion.deprecated-props'/> <flag name='query-cpu-model-expansion.deprecated-props'/>
<flag name='migrate-incoming.exit-on-error'/>
<version>9001050</version> <version>9001050</version>
<microcodeVersion>39100247</microcodeVersion> <microcodeVersion>39100247</microcodeVersion>
<package>v9.1.0-1348-g11b8920ed2</package> <package>v9.1.0-1348-g11b8920ed2</package>

View File

@ -210,6 +210,7 @@
<flag name='snapshot-internal-qmp'/> <flag name='snapshot-internal-qmp'/>
<flag name='chardev-reconnect-miliseconds'/> <flag name='chardev-reconnect-miliseconds'/>
<flag name='netdev-stream-reconnect-miliseconds'/> <flag name='netdev-stream-reconnect-miliseconds'/>
<flag name='migrate-incoming.exit-on-error'/>
<version>9001090</version> <version>9001090</version>
<microcodeVersion>43100247</microcodeVersion> <microcodeVersion>43100247</microcodeVersion>
<package>v9.2.0-rc0-42-g3428a3894c</package> <package>v9.2.0-rc0-42-g3428a3894c</package>