mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-24 14:45:24 +00:00
qemu: Don't reset TLS in qemuMigrationRun
Finished qemuMigrationRun does not mean the migration itself finished (it might have just switched to post-copy mode). While resetting TLS parameters is probably OK at this point even if migration is still running, we want to consolidate the code which resets various migration parameters. Thus qemuMigrationResetTLS will be called from the Confirm phase (or at the end of the Perform phase in case of v2 protocol), when migration is either canceled or finished. Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
This commit is contained in:
parent
9d677e6a6b
commit
a88c250d86
@ -3216,6 +3216,9 @@ qemuMigrationConfirmPhase(virQEMUDriverPtr driver,
|
||||
qemuDomainEventQueue(driver, event);
|
||||
}
|
||||
|
||||
qemuMigrationResetTLS(driver, vm, QEMU_ASYNC_JOB_MIGRATION_OUT,
|
||||
NULL, NULL);
|
||||
|
||||
if (virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm, driver->caps) < 0)
|
||||
VIR_WARN("Failed to save status on vm %s", vm->def->name);
|
||||
}
|
||||
@ -3848,10 +3851,6 @@ qemuMigrationRun(virQEMUDriverPtr driver,
|
||||
ret = -1;
|
||||
}
|
||||
|
||||
if (qemuMigrationResetTLS(driver, vm, QEMU_ASYNC_JOB_MIGRATION_OUT,
|
||||
tlsAlias, secAlias) < 0)
|
||||
ret = -1;
|
||||
|
||||
VIR_FREE(tlsAlias);
|
||||
VIR_FREE(secAlias);
|
||||
virObjectUnref(cfg);
|
||||
@ -4827,6 +4826,13 @@ qemuMigrationPerformJob(virQEMUDriverPtr driver,
|
||||
if (ret < 0)
|
||||
orig_err = virSaveLastError();
|
||||
|
||||
/* v2 proto has no confirm phase so we need to reset migration parameters
|
||||
* here
|
||||
*/
|
||||
if (!v3proto && ret < 0)
|
||||
qemuMigrationResetTLS(driver, vm, QEMU_ASYNC_JOB_MIGRATION_OUT,
|
||||
NULL, NULL);
|
||||
|
||||
if (qemuMigrationRestoreDomainState(conn, vm)) {
|
||||
event = virDomainEventLifecycleNewFromObj(vm,
|
||||
VIR_DOMAIN_EVENT_RESUMED,
|
||||
|
Loading…
Reference in New Issue
Block a user