On Wed, Nov 06, 2013 at 04:17:05 +0000, Wangyufei (A) wrote: > >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; No need to initialize port here. > > 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); ACK and pushed. My bad for not spotting thins while reviewing the original patch. Jirka -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list