[libvirt] [PATCH 13/16] qemu: Don't kill running migrated domain on daemon restart

Jiri Denemark jdenemar at redhat.com
Tue Jan 19 09:50:18 UTC 2016


When destination libvirtd is restarted during migration in Finish phase
just after the point we started guest CPUs, we should not kill the
domain.

Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
---
 src/qemu/qemu_process.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index e067c3f..240aa04 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -3307,9 +3307,13 @@ qemuProcessRecoverMigration(virQEMUDriverPtr driver,
 
         case QEMU_MIGRATION_PHASE_FINISH3:
             /* migration finished, we started resuming the domain but didn't
-             * confirm success or failure yet; killing it seems safest */
-            VIR_DEBUG("Killing migrated domain %s", vm->def->name);
-            return -1;
+             * confirm success or failure yet; killing it seems safest unless
+             * we already started guest CPUs */
+            if (state != VIR_DOMAIN_RUNNING) {
+                VIR_DEBUG("Killing migrated domain %s", vm->def->name);
+                return -1;
+            }
+            break;
         }
     } else if (job == QEMU_ASYNC_JOB_MIGRATION_OUT) {
         switch (phase) {
-- 
2.7.0




More information about the libvir-list mailing list