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.
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 ||