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)
|
||||
goto endjob;
|
||||
goto cleanup;
|
||||
|
||||
virCloseCallbacksUnset(driver->closeCallbacks, vm,
|
||||
qemuMigrationSrcCleanup);
|
||||
|
||||
ret = qemuMigrationSrcPerformNative(driver, vm, persist_xml, uri, cookiein, cookieinlen,
|
||||
if (qemuMigrationSrcPerformNative(driver, vm, persist_xml, uri, cookiein, cookieinlen,
|
||||
cookieout, cookieoutlen,
|
||||
flags, resource, NULL, graphicsuri,
|
||||
nmigrate_disks, migrate_disks, migParams, nbdURI);
|
||||
|
||||
if (ret < 0) {
|
||||
qemuMigrationSrcRestoreDomainState(driver, vm);
|
||||
goto endjob;
|
||||
}
|
||||
|
||||
ignore_value(qemuMigrationJobSetPhase(vm, QEMU_MIGRATION_PHASE_PERFORM3_DONE));
|
||||
nmigrate_disks, migrate_disks, migParams, nbdURI) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (virCloseCallbacksSet(driver->closeCallbacks, vm, conn,
|
||||
qemuMigrationSrcCleanup) < 0)
|
||||
goto endjob;
|
||||
goto cleanup;
|
||||
|
||||
endjob:
|
||||
ignore_value(qemuMigrationJobSetPhase(vm, QEMU_MIGRATION_PHASE_PERFORM3_DONE));
|
||||
ret = 0;
|
||||
|
||||
cleanup:
|
||||
if (ret < 0 && !virDomainObjIsFailedPostcopy(vm)) {
|
||||
qemuMigrationSrcRestoreDomainState(driver, vm);
|
||||
qemuMigrationParamsReset(driver, vm, VIR_ASYNC_JOB_MIGRATION_OUT,
|
||||
jobPriv->migParams, priv->job.apiFlags);
|
||||
qemuMigrationJobFinish(vm);
|
||||
|
Loading…
x
Reference in New Issue
Block a user