]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Pass qemuDomainJobObj to qemuMigrationDstComplete
authorJiri Denemark <jdenemar@redhat.com>
Tue, 10 May 2022 13:20:25 +0000 (15:20 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Tue, 7 Jun 2022 15:40:20 +0000 (17:40 +0200)
When reconnecting to an active domain we need to use a different job
structure than the one referenced from the VM object.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
src/qemu/qemu_migration.c
src/qemu/qemu_migration.h

index 331386663e32ea2c3002b189339c091221ad8e4f..d0ce17b9e4a6b9c75d533b23793fa8681503882f 100644 (file)
@@ -5773,10 +5773,11 @@ void
 qemuMigrationDstComplete(virQEMUDriver *driver,
                          virDomainObj *vm,
                          bool inPostCopy,
-                         virDomainAsyncJob asyncJob)
+                         virDomainAsyncJob asyncJob,
+                         qemuDomainJobObj *job)
 {
     qemuDomainObjPrivate *priv = vm->privateData;
-    qemuDomainJobPrivate *jobPriv = priv->job.privateData;
+    qemuDomainJobPrivate *jobPriv = job->privateData;
     virObjectEvent *event;
 
     if (inPostCopy) {
@@ -5817,10 +5818,10 @@ qemuMigrationDstComplete(virQEMUDriver *driver,
      * is obsolete anyway.
      */
     if (inPostCopy)
-        g_clear_pointer(&priv->job.completed, virDomainJobDataFree);
+        g_clear_pointer(&job->completed, virDomainJobDataFree);
 
     qemuMigrationParamsReset(driver, vm, asyncJob, jobPriv->migParams,
-                             priv->job.apiFlags);
+                             job->apiFlags);
 
     virPortAllocatorRelease(priv->migrationPort);
     priv->migrationPort = 0;
@@ -6052,7 +6053,7 @@ qemuMigrationDstFinishActive(virQEMUDriver *driver,
         VIR_WARN("Unable to encode migration cookie");
 
     qemuMigrationDstComplete(driver, vm, inPostCopy,
-                             VIR_ASYNC_JOB_MIGRATION_IN);
+                             VIR_ASYNC_JOB_MIGRATION_IN, &priv->job);
 
     return dom;
 
index 1d6051859b3a5e1fdc0cebedd6e3f8441c04e804..c099cf99cf2667c122ebbbb389f294b88c1d87fe 100644 (file)
@@ -195,7 +195,8 @@ void
 qemuMigrationDstComplete(virQEMUDriver *driver,
                          virDomainObj *vm,
                          bool inPostCopy,
-                         virDomainAsyncJob asyncJob);
+                         virDomainAsyncJob asyncJob,
+                         qemuDomainJobObj *job);
 
 int
 qemuMigrationSrcConfirm(virQEMUDriver *driver,