[libvirt] [PATCH 5/6] qemu: driver: Validate configuration when setting maximum vcpu count

Jiri Denemark jdenemar at redhat.com
Fri Aug 26 15:18:25 UTC 2016


On Thu, Aug 25, 2016 at 18:42:49 -0400, Peter Krempa wrote:
> Setting vcpu count when cpu topology is specified may result into an
> invalid configuration. Since the topology can't be modified, reject the
> setting if it doesn't match the requested topology. This will allow
> fixing the topology in case it was broken.
> 
> Partially fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1370066
> ---
>  src/qemu/qemu_driver.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index 671d1ff..5f8c11c 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -4730,6 +4730,17 @@ qemuDomainSetVcpusMax(virQEMUDriverPtr driver,
>          goto cleanup;
>      }
> 
> +    if (persistentDef && persistentDef->cpu && persistentDef->cpu->sockets) {
> +        /* explicitly allow correcting invalid vcpu count */

Hmm, this is more confusing than helpful :-)

> +        if (nvcpus != persistentDef->cpu->sockets *
> +                      persistentDef->cpu->cores *
> +                      persistentDef->cpu->threads) {
> +            virReportError(VIR_ERR_INVALID_ARG, "%s",
> +                           _("CPU topology doesn't match the desired vcpu count"));
> +            goto cleanup;
> +        }
> +    }
> +
>      if (virDomainDefSetVcpusMax(persistentDef, nvcpus, driver->xmlopt) < 0)
>          goto cleanup;

ACK

Jirka




More information about the libvir-list mailing list