On Tue, May 10, 2022 at 17:20:54 +0200, Jiri Denemark wrote:
Refactors qemuMigrationDstFinish by moving some parts to a dedicated
function for easier introduction of postcopy resume code without
duplicating common parts of the Finish phase. The goal is to have the
following call graph:
- qemuMigrationDstFinish
- qemuMigrationDstFinishOffline
- qemuMigrationDstFinishActive
- qemuMigrationDstFinishFresh
- qemuMigrationDstFinishResume
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/qemu/qemu_migration.c | 39 +++++++++++++++++++++++++++++----------
1 file changed, 29 insertions(+), 10 deletions(-)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 385bd91a6b..dcd7ff3597 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -5839,6 +5839,32 @@ qemuMigrationDstComplete(virQEMUDriver *driver,
}
+static virDomainPtr
+qemuMigrationDstFinishOffline(virQEMUDriver *driver,
+ virConnectPtr dconn,
+ virDomainObj *vm,
+ qemuMigrationCookie *mig,
+ char **cookieout,
+ int *cookieoutlen)
+{
+ virDomainPtr dom = NULL;
+
+ if (qemuMigrationDstPersist(driver, vm, mig, false) < 0)
+ return NULL;
+
+ dom = virGetDomain(dconn, vm->def->name, vm->def->uuid, -1);
+
+ if (dom &&
Earlier I've commented about uselessness of this check. Other code
formats the cookie unconditionally.
+ qemuMigrationCookieFormat(mig, driver, vm,
+ QEMU_MIGRATION_DESTINATION,
+ cookieout, cookieoutlen,
+ QEMU_MIGRATION_COOKIE_STATS) < 0)
+ VIR_WARN("Unable to encode migration cookie");
+
+ return dom;
+}
Reviewed-by: Peter Krempa <pkrempa(a)redhat.com>