mirror of https://gitee.com/openkylin/libvirt.git
qemu: Release nbd port from migrationPorts instead of remotePorts
commit 3e1e16aa8d
(Use a port from the
migration range for NBD as well) changed ndb port allocation from
remotePorts to migrationPorts, but did not change the port releasing
process, which makes an error when migrating several times (above 64):
error: internal error: Unable to find an unused port in range
'migration' (49152-49215)
https://bugzilla.redhat.com/show_bug.cgi?id=1159245
Signed-off-by: Weiwei Li <nuonuoli@tencent.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
720be2eb5f
commit
be598c5ff8
|
@ -1389,7 +1389,7 @@ qemuMigrationStartNBDServer(virQEMUDriverPtr driver,
|
|||
cleanup:
|
||||
VIR_FREE(diskAlias);
|
||||
if (ret < 0)
|
||||
virPortAllocatorRelease(driver->remotePorts, port);
|
||||
virPortAllocatorRelease(driver->migrationPorts, port);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -1595,7 +1595,7 @@ qemuMigrationStopNBDServer(virQEMUDriverPtr driver,
|
|||
|
||||
qemuDomainObjExitMonitor(driver, vm);
|
||||
|
||||
virPortAllocatorRelease(driver->remotePorts, priv->nbdPort);
|
||||
virPortAllocatorRelease(driver->migrationPorts, priv->nbdPort);
|
||||
priv->nbdPort = 0;
|
||||
}
|
||||
|
||||
|
@ -2813,7 +2813,7 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver,
|
|||
VIR_FORCE_CLOSE(dataFD[1]);
|
||||
if (vm) {
|
||||
if (ret < 0) {
|
||||
virPortAllocatorRelease(driver->remotePorts, priv->nbdPort);
|
||||
virPortAllocatorRelease(driver->migrationPorts, priv->nbdPort);
|
||||
priv->nbdPort = 0;
|
||||
}
|
||||
if (ret >= 0 || vm->persistent)
|
||||
|
|
|
@ -4839,7 +4839,7 @@ void qemuProcessStop(virQEMUDriverPtr driver,
|
|||
}
|
||||
}
|
||||
|
||||
virPortAllocatorRelease(driver->remotePorts, priv->nbdPort);
|
||||
virPortAllocatorRelease(driver->migrationPorts, priv->nbdPort);
|
||||
priv->nbdPort = 0;
|
||||
|
||||
if (priv->agent) {
|
||||
|
|
Loading…
Reference in New Issue