提交 05700f60 编写于 作者: J Jiri Denemark 提交者: Ján Tomko

Don't spam logs with "port 0 must be in range" errors

Whenever virPortAllocatorRelease is called with port == 0, it complains
that the port is not in an allowed range, which is expectable as the
port was never allocated. Let's make virPortAllocatorRelease ignore 0
ports in a similar way free() ignores NULL pointers.

(cherry picked from commit 86dba8f3)

Conflicts:
  missing VNC websocket support
	src/qemu/qemu_process.c
上级 2e35d287
......@@ -1158,7 +1158,7 @@ qemuMigrationStartNBDServer(virQEMUDriverPtr driver,
cleanup:
VIR_FREE(diskAlias);
if ((ret < 0) && port)
if (ret < 0)
virPortAllocatorRelease(driver->remotePorts, port);
return ret;
}
......@@ -2291,7 +2291,7 @@ cleanup:
virObjectUnlock(vm);
else
qemuDomainRemoveInactive(driver, vm);
if (ret < 0 && priv->nbdPort) {
if (ret < 0) {
virPortAllocatorRelease(driver->remotePorts, priv->nbdPort);
priv->nbdPort = 0;
}
......
......@@ -3340,8 +3340,7 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver,
return 0;
error:
if (port)
virPortAllocatorRelease(driver->remotePorts, port);
virPortAllocatorRelease(driver->remotePorts, port);
return -1;
}
......@@ -4052,10 +4051,8 @@ void qemuProcessStop(virQEMUDriverPtr driver,
}
}
if (priv->nbdPort) {
virPortAllocatorRelease(driver->remotePorts, priv->nbdPort);
priv->nbdPort = 0;
}
virPortAllocatorRelease(driver->remotePorts, priv->nbdPort);
priv->nbdPort = 0;
if (priv->agent) {
qemuAgentClose(priv->agent);
......@@ -4172,15 +4169,15 @@ retry:
virDomainGraphicsDefPtr graphics = vm->def->graphics[i];
if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC &&
graphics->data.vnc.autoport) {
ignore_value(virPortAllocatorRelease(driver->remotePorts,
graphics->data.vnc.port));
virPortAllocatorRelease(driver->remotePorts,
graphics->data.vnc.port);
}
if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE &&
graphics->data.spice.autoport) {
ignore_value(virPortAllocatorRelease(driver->remotePorts,
graphics->data.spice.port));
ignore_value(virPortAllocatorRelease(driver->remotePorts,
graphics->data.spice.tlsPort));
virPortAllocatorRelease(driver->remotePorts,
graphics->data.spice.port);
virPortAllocatorRelease(driver->remotePorts,
graphics->data.spice.tlsPort);
}
}
......
......@@ -166,6 +166,10 @@ int virPortAllocatorRelease(virPortAllocatorPtr pa,
unsigned short port)
{
int ret = -1;
if (!port)
return 0;
virObjectLock(pa);
if (port < pa->start ||
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册