[libvirt] [PATCH 13/34] conf: Move vcpu count check into helper

John Ferlan jferlan at redhat.com
Mon Nov 23 15:35:34 UTC 2015



On 11/20/2015 10:22 AM, Peter Krempa wrote:
> ---
>  src/conf/domain_conf.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index d8c1068..3062b3a 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -1461,6 +1461,13 @@ int
>  virDomainDefSetVCpus(virDomainDefPtr def,
>                       unsigned int vcpus)
>  {
> +    if (vcpus > def->maxvcpus) {

Use accessor (virDomainDefGetVCpusMax)

FWIW: Just thinking about patch 12 where the code is reading off the
command line and setting counts, but not checking that vcpus <= maxvcpus
in qemuParseCommandLineSmp... Although I suspect that won't be a problem
since that code is reading qemu command line and I would hope we could
assume (haha) that qemu would have failed if vcpus > maxvcpus and of
course if cores/threads/sockets didn't add up properly as well.

ACK with the accessor change.

John
> +        virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> +                       _("maxvcpus must not be less than current vcpus (%u < %u)"),
> +                       vcpus, def->maxvcpus);
> +        return -1;
> +    }
> +
>      def->vcpus = vcpus;
> 
>      return 0;
> @@ -14723,13 +14730,6 @@ virDomainVcpuParse(virDomainDefPtr def,
>      if (virDomainDefSetVCpus(def, vcpus) < 0)
>          goto cleanup;
> 
> -    if (maxvcpus < def->vcpus) {
> -        virReportError(VIR_ERR_INTERNAL_ERROR,
> -                       _("maxvcpus must not be less than current vcpus "
> -                         "(%u < %u)"), maxvcpus, def->vcpus);
> -        goto cleanup;
> -    }
> -
>      tmp = virXPathString("string(./vcpu[1]/@placement)", ctxt);
>      if (tmp) {
>          if ((def->placement_mode =
> 




More information about the libvir-list mailing list