From 77cecd2bc306416d985230bb29be916126945f65 Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Wed, 17 Oct 2012 14:08:17 +0200 Subject: [PATCH] qemu: Clear async job when p2p migration fails early 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 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 8e8587573c..1da353c3a7 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -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;