forked from rpms/libvirt
207 lines
9.3 KiB
Diff
207 lines
9.3 KiB
Diff
From 81f8b07ed1e4e485ded7f366739c110351120785 Mon Sep 17 00:00:00 2001
|
|
Message-Id: <81f8b07ed1e4e485ded7f366739c110351120785@dist-git>
|
|
From: =?UTF-8?q?Eugenio=20P=C3=A9rez?= <eperezma@redhat.com>
|
|
Date: Thu, 21 Jul 2022 19:29:05 +0200
|
|
Subject: [PATCH] qemu: introduce capability
|
|
QEMU_CAPS_MIGRATION_BLOCKED_REASONS
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
since qemu 6.0, if migration is blocked for some reason, 'query-migrate'
|
|
will return an array of error strings describing the migration blockers.
|
|
This can be used to check whether there are any devices blocking
|
|
migration, etc.
|
|
|
|
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
|
|
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
|
|
Reviewed-by: Laine Stump <laine@redhat.com>
|
|
|
|
(cherry picked from commit 1e9d84d9f9513a73572842db30e3d1445e892291)
|
|
Resolves: https://bugzilla.redhat.com/2092833
|
|
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
|
|
---
|
|
src/qemu/qemu_capabilities.c | 2 ++
|
|
src/qemu/qemu_capabilities.h | 1 +
|
|
tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 +
|
|
tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 +
|
|
tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 +
|
|
tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 +
|
|
tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 +
|
|
tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 +
|
|
tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 +
|
|
tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 +
|
|
tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 +
|
|
tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 +
|
|
tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 +
|
|
13 files changed, 14 insertions(+)
|
|
|
|
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
|
|
index 8586930266..48002f3b58 100644
|
|
--- a/src/qemu/qemu_capabilities.c
|
|
+++ b/src/qemu/qemu_capabilities.c
|
|
@@ -671,6 +671,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
|
|
"chardev.qemu-vdagent", /* QEMU_CAPS_CHARDEV_QEMU_VDAGENT */
|
|
"display-dbus", /* QEMU_CAPS_DISPLAY_DBUS */
|
|
"iothread.thread-pool-max", /* QEMU_CAPS_IOTHREAD_THREAD_POOL_MAX */
|
|
+ "migration.blocked-reasons", /* QEMU_CAPS_MIGRATION_BLOCKED_REASONS */
|
|
);
|
|
|
|
|
|
@@ -1623,6 +1624,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = {
|
|
{ "chardev-add/arg-type/backend/+qemu-vdagent", QEMU_CAPS_CHARDEV_QEMU_VDAGENT },
|
|
{ "query-display-options/ret-type/+dbus", QEMU_CAPS_DISPLAY_DBUS },
|
|
{ "object-add/arg-type/+iothread/thread-pool-max", QEMU_CAPS_IOTHREAD_THREAD_POOL_MAX },
|
|
+ { "query-migrate/ret-type/blocked-reasons", QEMU_CAPS_MIGRATION_BLOCKED_REASONS },
|
|
};
|
|
|
|
typedef struct _virQEMUCapsObjectTypeProps virQEMUCapsObjectTypeProps;
|
|
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
|
|
index 6f35ba1485..570e43292d 100644
|
|
--- a/src/qemu/qemu_capabilities.h
|
|
+++ b/src/qemu/qemu_capabilities.h
|
|
@@ -650,6 +650,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
|
|
QEMU_CAPS_CHARDEV_QEMU_VDAGENT, /* -chardev qemu-vdagent */
|
|
QEMU_CAPS_DISPLAY_DBUS, /* -display dbus */
|
|
QEMU_CAPS_IOTHREAD_THREAD_POOL_MAX, /* -object iothread.thread-pool-max */
|
|
+ QEMU_CAPS_MIGRATION_BLOCKED_REASONS, /* query-migrate returns 'blocked-reasons */
|
|
|
|
QEMU_CAPS_LAST /* this must always be the last item */
|
|
} virQEMUCapsFlags;
|
|
diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml
|
|
index 4b4cc2d3aa..3e48d17811 100644
|
|
--- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml
|
|
+++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml
|
|
@@ -189,6 +189,7 @@
|
|
<flag name='memory-backend-file.prealloc-threads'/>
|
|
<flag name='virtio-iommu-pci'/>
|
|
<flag name='virtio-net.rss'/>
|
|
+ <flag name='migration.blocked-reasons'/>
|
|
<version>6000000</version>
|
|
<kvmVersion>0</kvmVersion>
|
|
<microcodeVersion>61700242</microcodeVersion>
|
|
diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml
|
|
index 06543071aa..790b7221d4 100644
|
|
--- a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml
|
|
+++ b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml
|
|
@@ -147,6 +147,7 @@
|
|
<flag name='memory-backend-file.prealloc-threads'/>
|
|
<flag name='virtio-iommu-pci'/>
|
|
<flag name='virtio-net.rss'/>
|
|
+ <flag name='migration.blocked-reasons'/>
|
|
<version>6000000</version>
|
|
<kvmVersion>0</kvmVersion>
|
|
<microcodeVersion>39100242</microcodeVersion>
|
|
diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
|
|
index 8c61bf8a84..86c3732c72 100644
|
|
--- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
|
|
+++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
|
|
@@ -231,6 +231,7 @@
|
|
<flag name='memory-backend-file.prealloc-threads'/>
|
|
<flag name='virtio-iommu-pci'/>
|
|
<flag name='virtio-net.rss'/>
|
|
+ <flag name='migration.blocked-reasons'/>
|
|
<version>6000000</version>
|
|
<kvmVersion>0</kvmVersion>
|
|
<microcodeVersion>43100242</microcodeVersion>
|
|
diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml
|
|
index afd8f606eb..bd76a7a398 100644
|
|
--- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml
|
|
+++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml
|
|
@@ -236,6 +236,7 @@
|
|
<flag name='virtio-iommu-pci'/>
|
|
<flag name='virtio-net.rss'/>
|
|
<flag name='chardev.qemu-vdagent'/>
|
|
+ <flag name='migration.blocked-reasons'/>
|
|
<version>6001000</version>
|
|
<kvmVersion>0</kvmVersion>
|
|
<microcodeVersion>43100243</microcodeVersion>
|
|
diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml
|
|
index 86fc46918f..6ed51ec796 100644
|
|
--- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml
|
|
+++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml
|
|
@@ -201,6 +201,7 @@
|
|
<flag name='virtio-iommu-pci'/>
|
|
<flag name='virtio-net.rss'/>
|
|
<flag name='chardev.qemu-vdagent'/>
|
|
+ <flag name='migration.blocked-reasons'/>
|
|
<version>6001050</version>
|
|
<kvmVersion>0</kvmVersion>
|
|
<microcodeVersion>61700244</microcodeVersion>
|
|
diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml
|
|
index 983b54430d..1a98fe122e 100644
|
|
--- a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml
|
|
+++ b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml
|
|
@@ -196,6 +196,7 @@
|
|
<flag name='memory-backend-file.prealloc-threads'/>
|
|
<flag name='virtio-iommu-pci'/>
|
|
<flag name='virtio-net.rss'/>
|
|
+ <flag name='migration.blocked-reasons'/>
|
|
<version>6002000</version>
|
|
<kvmVersion>0</kvmVersion>
|
|
<microcodeVersion>42900244</microcodeVersion>
|
|
diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml
|
|
index 19605d93ae..a77efaaa37 100644
|
|
--- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml
|
|
+++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml
|
|
@@ -238,6 +238,7 @@
|
|
<flag name='virtio-iommu-pci'/>
|
|
<flag name='virtio-net.rss'/>
|
|
<flag name='chardev.qemu-vdagent'/>
|
|
+ <flag name='migration.blocked-reasons'/>
|
|
<version>6002000</version>
|
|
<kvmVersion>0</kvmVersion>
|
|
<microcodeVersion>43100244</microcodeVersion>
|
|
diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml
|
|
index e24e2235fb..6848a075a8 100644
|
|
--- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml
|
|
+++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml
|
|
@@ -209,6 +209,7 @@
|
|
<flag name='virtio-iommu.boot-bypass'/>
|
|
<flag name='virtio-net.rss'/>
|
|
<flag name='chardev.qemu-vdagent'/>
|
|
+ <flag name='migration.blocked-reasons'/>
|
|
<version>6002092</version>
|
|
<kvmVersion>0</kvmVersion>
|
|
<microcodeVersion>61700243</microcodeVersion>
|
|
diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml
|
|
index 83e0f50e3a..cf4286b78b 100644
|
|
--- a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml
|
|
+++ b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml
|
|
@@ -213,6 +213,7 @@
|
|
<flag name='virtio-iommu.boot-bypass'/>
|
|
<flag name='virtio-net.rss'/>
|
|
<flag name='chardev.qemu-vdagent'/>
|
|
+ <flag name='migration.blocked-reasons'/>
|
|
<version>7000000</version>
|
|
<kvmVersion>0</kvmVersion>
|
|
<microcodeVersion>42900243</microcodeVersion>
|
|
diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml
|
|
index 05f844fd5b..8e2c1652f9 100644
|
|
--- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml
|
|
+++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml
|
|
@@ -243,6 +243,7 @@
|
|
<flag name='virtio-net.rss'/>
|
|
<flag name='chardev.qemu-vdagent'/>
|
|
<flag name='display-dbus'/>
|
|
+ <flag name='migration.blocked-reasons'/>
|
|
<version>7000000</version>
|
|
<kvmVersion>0</kvmVersion>
|
|
<microcodeVersion>43100243</microcodeVersion>
|
|
diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml
|
|
index 3707d9b7c9..9bdb207c4e 100644
|
|
--- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml
|
|
+++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml
|
|
@@ -244,6 +244,7 @@
|
|
<flag name='chardev.qemu-vdagent'/>
|
|
<flag name='display-dbus'/>
|
|
<flag name='iothread.thread-pool-max'/>
|
|
+ <flag name='migration.blocked-reasons'/>
|
|
<version>7000050</version>
|
|
<kvmVersion>0</kvmVersion>
|
|
<microcodeVersion>43100244</microcodeVersion>
|
|
--
|
|
2.35.1
|
|
|