mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-10 14:57:42 +00:00
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
This commit is contained in:
parent
3f9fb2b587
commit
64985217bc
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user