]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Handle incoming migration in qemuMigrationAnyConnectionClosed
authorJiri Denemark <jdenemar@redhat.com>
Thu, 19 May 2022 14:44:41 +0000 (16:44 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Tue, 7 Jun 2022 15:40:20 +0000 (17:40 +0200)
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
src/qemu/qemu_migration.c

index 70eb5586dfb07e2c4d8a73f9d1a162694fd83067..c59cf27d2e6b246e5dec104a8f3e58795b726f17 100644 (file)
@@ -2350,12 +2350,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_PREPARE_RESUME:
         /* incoming migration; the domain will be autodestroyed */
         return;
 
@@ -2379,6 +2379,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);