[libvirt PATCH v2 36/81] qemu: Make sure migrationPort is released even in callbacks

Jiri Denemark jdenemar at redhat.com
Wed Jun 1 12:49:36 UTC 2022


Normally migrationPort is released in the Finish phase, but we need to
make sure it is properly released also in case qemuMigrationDstFinish is
not called at all. Currently the only callback which is called in this
situation qemuMigrationDstPrepareCleanup which already releases
migrationPort. This patch adds similar handling to additional callbacks
which will be used in the future.

Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
Reviewed-by: Peter Krempa <pkrempa at redhat.com>
Reviewed-by: Pavel Hrdina <phrdina at redhat.com>
---

Notes:
    Version 2:
    - no change

 src/qemu/qemu_migration.c | 3 +++
 src/qemu/qemu_process.c   | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index d80a250cac..53801a29ef 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -5821,6 +5821,9 @@ qemuMigrationDstComplete(virQEMUDriver *driver,
 
     qemuMigrationParamsReset(driver, vm, asyncJob, jobPriv->migParams,
                              priv->job.apiFlags);
+
+    virPortAllocatorRelease(priv->migrationPort);
+    priv->migrationPort = 0;
 }
 
 
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index b039108ff7..d3769de496 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -3437,6 +3437,8 @@ qemuProcessCleanupMigrationJob(virQEMUDriver *driver,
         priv->job.asyncJob != VIR_ASYNC_JOB_MIGRATION_OUT)
         return;
 
+    virPortAllocatorRelease(priv->migrationPort);
+    priv->migrationPort = 0;
     qemuDomainObjDiscardAsyncJob(vm);
 }
 
-- 
2.35.1



More information about the libvir-list mailing list