From: Jiri Denemark Date: Wed, 5 Apr 2017 11:05:25 +0000 (+0200) Subject: qemu: Properly reset all migration capabilities X-Git-Tag: v3.3.0-rc1~243 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=v3.2.0-77-g8be3ccd04;p=thirdparty%2Flibvirt.git qemu: Properly reset all migration capabilities So far only QEMU_MONITOR_MIGRATION_CAPS_POSTCOPY was reset, but only in a single code path leaving post-copy enabled in quite a few cases. https://bugzilla.redhat.com/show_bug.cgi?id=1425003 Signed-off-by: Jiri Denemark --- diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index cc3e58c161..1feb320b8c 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -5342,9 +5342,6 @@ qemuMigrationFinish(virQEMUDriverPtr driver, */ if (inPostCopy) VIR_FREE(priv->job.completed); - - qemuMigrationSetPostCopy(driver, vm, false, - QEMU_ASYNC_JOB_MIGRATION_IN); } qemuMigrationReset(driver, vm, QEMU_ASYNC_JOB_MIGRATION_IN); @@ -5873,9 +5870,16 @@ qemuMigrationReset(virQEMUDriverPtr driver, virDomainObjPtr vm, qemuDomainAsyncJob job) { + qemuMonitorMigrationCaps cap; + if (!virDomainObjIsActive(vm)) return; if (qemuMigrationResetTLS(driver, vm, job) < 0) return; + + for (cap = 0; cap < QEMU_MONITOR_MIGRATION_CAPS_LAST; cap++) { + if (qemuMigrationSetOption(driver, vm, cap, false, job) < 0) + return; + } }