[libvirt PATCH 66/80] qemu: Handle incoming migration in qemuMigrationAnyConnectionClosed

Jiri Denemark jdenemar at redhat.com
Tue May 10 15:21:27 UTC 2022


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

diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index c0ab59f688..c1a60c90ef 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -2378,15 +2378,12 @@ qemuMigrationAnyConnectionClosed(virDomainObj *vm,
     case QEMU_MIGRATION_PHASE_POSTCOPY_FAILED:
     case QEMU_MIGRATION_PHASE_BEGIN_RESUME:
     case QEMU_MIGRATION_PHASE_PERFORM_RESUME:
+    case QEMU_MIGRATION_PHASE_PREPARE_RESUME:
         VIR_DEBUG("Connection closed while resuming failed post-copy migration");
         postcopy = true;
         break;
 
     case QEMU_MIGRATION_PHASE_PREPARE:
-    case QEMU_MIGRATION_PHASE_FINISH2:
-    case QEMU_MIGRATION_PHASE_FINISH3:
-    case QEMU_MIGRATION_PHASE_PREPARE_RESUME:
-    case QEMU_MIGRATION_PHASE_FINISH_RESUME:
         /* incoming migration; the domain will be autodestroyed */
         return;
 
@@ -2395,6 +2392,9 @@ qemuMigrationAnyConnectionClosed(virDomainObj *vm,
     case QEMU_MIGRATION_PHASE_CONFIRM3:
     case QEMU_MIGRATION_PHASE_CONFIRM3_CANCELLED:
     case QEMU_MIGRATION_PHASE_CONFIRM_RESUME:
+    case QEMU_MIGRATION_PHASE_FINISH2:
+    case QEMU_MIGRATION_PHASE_FINISH3:
+    case QEMU_MIGRATION_PHASE_FINISH_RESUME:
         /* all done; unreachable */
     case QEMU_MIGRATION_PHASE_PERFORM2:
         /* single phase outgoing migration; unreachable */
@@ -2407,6 +2407,8 @@ qemuMigrationAnyConnectionClosed(virDomainObj *vm,
     if (postcopy) {
         if (priv->job.asyncJob == VIR_ASYNC_JOB_MIGRATION_OUT)
             qemuMigrationSrcPostcopyFailed(vm);
+        else
+            qemuMigrationDstPostcopyFailed(vm);
         ignore_value(qemuMigrationJobSetPhase(vm, QEMU_MIGRATION_PHASE_POSTCOPY_FAILED));
         qemuDomainCleanupAdd(vm, qemuProcessCleanupMigrationJob);
         qemuMigrationJobContinue(vm);
-- 
2.35.1



More information about the libvir-list mailing list