]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: capabilities: Make virHostCPUGetKVMMaxVCPUs() errors fatal
authorAndrea Bolognani <abologna@redhat.com>
Mon, 27 Jun 2016 11:53:43 +0000 (13:53 +0200)
committerAndrea Bolognani <abologna@redhat.com>
Mon, 11 Jul 2016 09:12:52 +0000 (11:12 +0200)
An error in virHostCPUGetKVMMaxVCPUs() means we've been unable
to access /dev/kvm, or we're running on a platform that doesn't
support KVM in the first place.

If that's the case, we shouldn't ignore the error and report
domcapabilities even though we know the user won't be able to
start any KVM guest.

src/qemu/qemu_capabilities.c

index c8d8a54aaec1609d2a848c160ab0026b6acc4827..3ad71a290715357632e320068c712c70f7ed5d08 100644 (file)
@@ -4347,9 +4347,12 @@ virQEMUCapsFillDomainCaps(virDomainCapsPtr domCaps,
     domCaps->maxvcpus = virQEMUCapsGetMachineMaxCpus(qemuCaps,
                                                      domCaps->machine);
     if (domCaps->virttype == VIR_DOMAIN_VIRT_KVM) {
-        int hostmaxvcpus = virHostCPUGetKVMMaxVCPUs();
-        if (hostmaxvcpus >= 0)
-            domCaps->maxvcpus = MIN(domCaps->maxvcpus, hostmaxvcpus);
+        int hostmaxvcpus;
+
+        if ((hostmaxvcpus = virHostCPUGetKVMMaxVCPUs()) < 0)
+            return -1;
+
+        domCaps->maxvcpus = MIN(domCaps->maxvcpus, hostmaxvcpus);
     }
 
     if (virQEMUCapsFillDomainOSCaps(os, firmwares, nfirmwares) < 0 ||