qemu: hotplug: Iterate over vcpu 0 in individual vcpu hotplug code

Buggy condition meant that vcpu0 would not be iterated in the checks.
Since it's not hotpluggable anyways we would not be able to break the
configuration of a live VM.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1437013
This commit is contained in:
Peter Krempa 2017-03-31 13:02:14 +02:00
parent 3af6c37816
commit 315f443dbb

View File

@ -5784,7 +5784,7 @@ qemuDomainSetVcpuConfig(virDomainDefPtr def,
def->individualvcpus = true; def->individualvcpus = true;
while ((next = virBitmapNextSetBit(map, next)) > 0) { while ((next = virBitmapNextSetBit(map, next)) >= 0) {
if (!(vcpu = virDomainDefGetVcpu(def, next))) if (!(vcpu = virDomainDefGetVcpu(def, next)))
continue; continue;
@ -5817,7 +5817,7 @@ qemuDomainFilterHotplugVcpuEntities(virDomainDefPtr def,
return NULL; return NULL;
/* make sure that all selected vcpus are in the correct state */ /* make sure that all selected vcpus are in the correct state */
while ((next = virBitmapNextSetBit(map, next)) > 0) { while ((next = virBitmapNextSetBit(map, next)) >= 0) {
if (!(vcpu = virDomainDefGetVcpu(def, next))) if (!(vcpu = virDomainDefGetVcpu(def, next)))
continue; continue;
@ -5837,7 +5837,7 @@ qemuDomainFilterHotplugVcpuEntities(virDomainDefPtr def,
/* Make sure that all vCPUs belonging to a single hotpluggable entity were /* Make sure that all vCPUs belonging to a single hotpluggable entity were
* selected and then de-select any sub-threads of it. */ * selected and then de-select any sub-threads of it. */
next = -1; next = -1;
while ((next = virBitmapNextSetBit(map, next)) > 0) { while ((next = virBitmapNextSetBit(map, next)) >= 0) {
if (!(vcpu = virDomainDefGetVcpu(def, next))) if (!(vcpu = virDomainDefGetVcpu(def, next)))
continue; continue;