[PATCH] qemu: clean up migration ports when migration cancelled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>From bfb2dafa8ea183781446c7cbe0376e1a2d41a5ae Mon Sep 17 00:00:00 2001
From: Zeng Junliang <zengjunliang@xxxxxxxxxx>
Date: Wed, 6 Nov 2013 11:36:57 +0800
Subject: [PATCH] qemu: clean up migration ports when migration cancelled

If there's a migration cancelled, the bitmap of migration port should be cleaned up too.

Signed-off-by: Zeng Junliang <zengjunliang@xxxxxxxxxx>
---
 src/qemu/qemu_migration.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 4f35a7a..594d1cd 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -4387,12 +4387,16 @@ qemuMigrationFinish(virQEMUDriverPtr driver,
     qemuDomainObjPrivatePtr priv = vm->privateData;
     virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
     virCapsPtr caps = NULL;
+    unsigned short port = 0;
 
     VIR_DEBUG("driver=%p, dconn=%p, vm=%p, cookiein=%s, cookieinlen=%d, "
               "cookieout=%p, cookieoutlen=%p, flags=%lx, retcode=%d",
               driver, dconn, vm, NULLSTR(cookiein), cookieinlen,
               cookieout, cookieoutlen, flags, retcode);
 
+    port = priv->migrationPort;
+    priv->migrationPort = 0;
+
     if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
         goto cleanup;
 
@@ -4439,8 +4443,6 @@ qemuMigrationFinish(virQEMUDriverPtr driver,
         }
 
         qemuMigrationStopNBDServer(driver, vm, mig);
-        virPortAllocatorRelease(driver->migrationPorts, priv->migrationPort);
-        priv->migrationPort = 0;
 
         if (flags & VIR_MIGRATE_PERSIST_DEST) {
             virDomainDefPtr vmdef;
@@ -4573,6 +4575,7 @@ endjob:
     }
 
 cleanup:
+    virPortAllocatorRelease(driver->migrationPorts, port);
     if (vm) {
         VIR_FREE(priv->origname);
         virObjectUnlock(vm);
-- 
1.7.3.1.msysgit.0

Best Regards,
-WangYufei



--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]