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 <jdenemar@redhat.com>
This commit is contained in:
Jiri Denemark 2017-04-05 13:05:25 +02:00
parent 4097de405e
commit 8be3ccd047

View File

@ -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;
}
}