提交 64985217 编写于 作者: P Peter Krempa

qemu: Fix condition for checking vcpu when pinning vcpus

Previously we checked that the vcpu we are trying to set is in range of
the number of threads presented by qemu. The problem is that if the VM
is offline the count is 0. Since the condition subtracted 1 from the
count the number would overflow and the check would never trigger.

Change the condition for more sensible ones with specific error
messages.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1208434
上级 3f9fb2b5
......@@ -5150,10 +5150,17 @@ qemuDomainPinVcpuFlags(virDomainPtr dom,
priv = vm->privateData;
if (vcpu > (priv->nvcpupids-1)) {
if ((flags & VIR_DOMAIN_AFFECT_LIVE) && vcpu >= vm->def->vcpus) {
virReportError(VIR_ERR_INVALID_ARG,
_("vcpu number out of range %d > %d"),
vcpu, priv->nvcpupids - 1);
_("vcpu %d is out of range of live cpu count %d"),
vcpu, vm->def->vcpus);
goto endjob;
}
if ((flags & VIR_DOMAIN_AFFECT_CONFIG) && vcpu >= persistentDef->vcpus) {
virReportError(VIR_ERR_INVALID_ARG,
_("vcpu %d is out of range of persistent cpu count %d"),
vcpu, persistentDef->vcpus);
goto endjob;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册