]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Clear async job when p2p migration fails early
authorJiri Denemark <jdenemar@redhat.com>
Wed, 17 Oct 2012 12:08:17 +0000 (14:08 +0200)
committerCole Robinson <crobinso@redhat.com>
Thu, 18 Oct 2012 17:35:00 +0000 (13:35 -0400)
When p2p migration fails early because qemuMigrationIsAllowed or
qemuMigrationIsSafe say migration should be cancelled, we fail to clear
the migration-out async job. As a result of that, further APIs called
for the same domain may fail with Timed out during operation: cannot
acquire state change lock.

Reported by Guido Winkelmann.
(cherry picked from commit 837993d845a32bb222959a84d1c03a0c47f785be)

src/qemu/qemu_migration.c

index 8e8587573c54093e848aaa2b3d7cdb30dd615fe8..1da353c3a70fc661140073dea98064a74df4be4a 100644 (file)
@@ -2624,10 +2624,10 @@ qemuMigrationPerformJob(struct qemud_driver *driver,
     }
 
     if (!qemuMigrationIsAllowed(driver, vm, NULL))
-        goto cleanup;
+        goto endjob;
 
     if (!(flags & VIR_MIGRATE_UNSAFE) && !qemuMigrationIsSafe(vm->def))
-        goto cleanup;
+        goto endjob;
 
     resume = virDomainObjGetState(vm, NULL) == VIR_DOMAIN_RUNNING;