forked from rpms/libvirt
54 lines
2.2 KiB
Diff
54 lines
2.2 KiB
Diff
From fcad662da8e472fc749a439d5bc2bdd30164d779 Mon Sep 17 00:00:00 2001
|
|
Message-Id: <fcad662da8e472fc749a439d5bc2bdd30164d779@dist-git>
|
|
From: Jiri Denemark <jdenemar@redhat.com>
|
|
Date: Thu, 16 Jan 2020 19:57:53 +0100
|
|
Subject: [PATCH] qemu: Don't emit SUSPENDED_POSTCOPY event on destination
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
When pause-before-switchover QEMU capability is enabled, we get STOP
|
|
event before MIGRATION event with postcopy-active state. To properly
|
|
handle post-copy migration and emit correct events commit
|
|
v4.10.0-rc1-4-geca9d21e6c added a hack to
|
|
qemuProcessHandleMigrationStatus which translates the paused state
|
|
reason to VIR_DOMAIN_PAUSED_POSTCOPY and emits
|
|
VIR_DOMAIN_EVENT_SUSPENDED_POSTCOPY event when migration state changes
|
|
to post-copy.
|
|
|
|
However, the code was effective on both sides of migration resulting in
|
|
a confusing VIR_DOMAIN_EVENT_SUSPENDED_POSTCOPY event on the destination
|
|
host, where entering post-copy mode is already properly advertised by
|
|
VIR_DOMAIN_EVENT_RESUMED_POSTCOPY event.
|
|
|
|
https://bugzilla.redhat.com/show_bug.cgi?id=1791458
|
|
|
|
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
|
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
|
(cherry picked from commit bd04d63ad97c21b6955710e6473a502f49816a3c)
|
|
|
|
https://bugzilla.redhat.com/show_bug.cgi?id=1791886
|
|
|
|
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
|
Message-Id: <9b32d5af0dd1d3bf7108abc426dc4d6ceeaa84f8.1579193220.git.jdenemar@redhat.com>
|
|
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
|
---
|
|
src/qemu/qemu_process.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
|
|
index 4195042194..a7bbab9e56 100644
|
|
--- a/src/qemu/qemu_process.c
|
|
+++ b/src/qemu/qemu_process.c
|
|
@@ -1653,6 +1653,7 @@ qemuProcessHandleMigrationStatus(qemuMonitorPtr mon G_GNUC_UNUSED,
|
|
virDomainObjBroadcast(vm);
|
|
|
|
if (status == QEMU_MONITOR_MIGRATION_STATUS_POSTCOPY &&
|
|
+ priv->job.asyncJob == QEMU_ASYNC_JOB_MIGRATION_OUT &&
|
|
virDomainObjGetState(vm, &reason) == VIR_DOMAIN_PAUSED &&
|
|
reason == VIR_DOMAIN_PAUSED_MIGRATION) {
|
|
VIR_DEBUG("Correcting paused state reason for domain %s to %s",
|
|
--
|
|
2.25.0
|
|
|