On 08.07.2016 18:04, Andrea Bolognani wrote: > 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 | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/src/util/virhostcpu.c b/src/util/virhostcpu.c > index 4ff4e72..a33932f 100644 > --- a/src/util/virhostcpu.c > +++ b/src/util/virhostcpu.c > @@ -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) > +{ > + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", > + _("KVM is not supported on this platform")); Don't mean to bikeshed, but I'd prefer if this were: virReportSystemError(ENOSYS, ..); I think it's the common patter we use for non-Linux, non-BSD* platform stubs. And if you think of it, it really is a property of a system, not unsupported config on libvirt level. BTW I know that we are not consistent in the error codes. It's one big mess. > + return -1; > +} > +#endif /* HAVE_LINUX_KVM_H */ > Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list