[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