mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemu: Refactor qemuMigrationSrcPerformPhase
To make the code flow a bit more sensible. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> Reviewed-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
parent
37a67122dd
commit
d1b6bce02c
@ -5780,29 +5780,27 @@ qemuMigrationSrcPerformPhase(virQEMUDriver *driver,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (qemuMigrationJobStartPhase(vm, QEMU_MIGRATION_PHASE_PERFORM3) < 0)
|
if (qemuMigrationJobStartPhase(vm, QEMU_MIGRATION_PHASE_PERFORM3) < 0)
|
||||||
goto endjob;
|
goto cleanup;
|
||||||
|
|
||||||
virCloseCallbacksUnset(driver->closeCallbacks, vm,
|
virCloseCallbacksUnset(driver->closeCallbacks, vm,
|
||||||
qemuMigrationSrcCleanup);
|
qemuMigrationSrcCleanup);
|
||||||
|
|
||||||
ret = qemuMigrationSrcPerformNative(driver, vm, persist_xml, uri, cookiein, cookieinlen,
|
if (qemuMigrationSrcPerformNative(driver, vm, persist_xml, uri, cookiein, cookieinlen,
|
||||||
cookieout, cookieoutlen,
|
cookieout, cookieoutlen,
|
||||||
flags, resource, NULL, graphicsuri,
|
flags, resource, NULL, graphicsuri,
|
||||||
nmigrate_disks, migrate_disks, migParams, nbdURI);
|
nmigrate_disks, migrate_disks, migParams, nbdURI) < 0)
|
||||||
|
goto cleanup;
|
||||||
if (ret < 0) {
|
|
||||||
qemuMigrationSrcRestoreDomainState(driver, vm);
|
|
||||||
goto endjob;
|
|
||||||
}
|
|
||||||
|
|
||||||
ignore_value(qemuMigrationJobSetPhase(vm, QEMU_MIGRATION_PHASE_PERFORM3_DONE));
|
|
||||||
|
|
||||||
if (virCloseCallbacksSet(driver->closeCallbacks, vm, conn,
|
if (virCloseCallbacksSet(driver->closeCallbacks, vm, conn,
|
||||||
qemuMigrationSrcCleanup) < 0)
|
qemuMigrationSrcCleanup) < 0)
|
||||||
goto endjob;
|
goto cleanup;
|
||||||
|
|
||||||
endjob:
|
ignore_value(qemuMigrationJobSetPhase(vm, QEMU_MIGRATION_PHASE_PERFORM3_DONE));
|
||||||
|
ret = 0;
|
||||||
|
|
||||||
|
cleanup:
|
||||||
if (ret < 0 && !virDomainObjIsFailedPostcopy(vm)) {
|
if (ret < 0 && !virDomainObjIsFailedPostcopy(vm)) {
|
||||||
|
qemuMigrationSrcRestoreDomainState(driver, vm);
|
||||||
qemuMigrationParamsReset(driver, vm, VIR_ASYNC_JOB_MIGRATION_OUT,
|
qemuMigrationParamsReset(driver, vm, VIR_ASYNC_JOB_MIGRATION_OUT,
|
||||||
jobPriv->migParams, priv->job.apiFlags);
|
jobPriv->migParams, priv->job.apiFlags);
|
||||||
qemuMigrationJobFinish(vm);
|
qemuMigrationJobFinish(vm);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user