]> xenbits.xensource.com Git - libvirt.git/commitdiff
util: hostcpu: Add virHostCPUGetKVMMaxVCPUs() stub
authorAndrea Bolognani <abologna@redhat.com>
Mon, 27 Jun 2016 11:47:53 +0000 (13:47 +0200)
committerAndrea Bolognani <abologna@redhat.com>
Mon, 11 Jul 2016 09:12:52 +0000 (11:12 +0200)
If we don't HAVE_LINUX_KVM_H, we can't query /dev/kvm to discover
the limits on the number of vCPUs, so we report an error and
return a negative value instead.

src/util/virhostcpu.c

index 4ff4e72125b461d3cd345eef5bd9012adfb65f01..585343aa94336847fe91746aa8c08b5c2f305215 100644 (file)
@@ -1299,6 +1299,7 @@ virHostCPUGetThreadsPerSubcore(virArch arch ATTRIBUTE_UNUSED)
 
 #endif /* HAVE_LINUX_KVM_H && defined(KVM_CAP_PPC_SMT) */
 
+#if HAVE_LINUX_KVM_H
 int
 virHostCPUGetKVMMaxVCPUs(void)
 {
@@ -1310,11 +1311,11 @@ virHostCPUGetKVMMaxVCPUs(void)
         return -1;
     }
 
-#ifdef KVM_CAP_MAX_VCPUS
+# ifdef KVM_CAP_MAX_VCPUS
     /* at first try KVM_CAP_MAX_VCPUS to determine the maximum count */
     if ((ret = ioctl(fd, KVM_CHECK_EXTENSION, KVM_CAP_MAX_VCPUS)) > 0)
         goto cleanup;
-#endif /* KVM_CAP_MAX_VCPUS */
+# endif /* KVM_CAP_MAX_VCPUS */
 
     /* as a fallback get KVM_CAP_NR_VCPUS (the recommended maximum number of
      * vcpus). Note that on most machines this is set to 160. */
@@ -1329,3 +1330,12 @@ virHostCPUGetKVMMaxVCPUs(void)
     VIR_FORCE_CLOSE(fd);
     return ret;
 }
+#else
+int
+virHostCPUGetKVMMaxVCPUs(void)
+{
+    virReportSystemError(ENOSYS, "%s",
+                         _("KVM is not supported on this platform"));
+    return -1;
+}
+#endif /* HAVE_LINUX_KVM_H */