[libvirt] [PATCH v2 3/3] qemu: capabilities: Make virHostCPUGetKVMMaxVCPUs() errors fatal

Andrea Bolognani abologna at redhat.com
Mon Jun 27 13:46:37 UTC 2016


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 | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 28d5321..ae54c94 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -4349,9 +4349,12 @@ virQEMUCapsFillDomainCaps(virDomainCapsPtr domCaps,
     domCaps->maxvcpus = virQEMUCapsGetMachineMaxCpus(qemuCaps,
                                                      domCaps->machine);
     if (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 ||
-- 
2.7.4




More information about the libvir-list mailing list