提交 802fac97 编写于 作者: P Peter Krempa

qemu: driver: Validate configuration when setting maximum vcpu count

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
上级 c9cb35c2
......@@ -4730,6 +4730,18 @@ qemuDomainSetVcpusMax(virQEMUDriverPtr driver,
goto cleanup;
}
if (persistentDef && persistentDef->cpu && persistentDef->cpu->sockets) {
/* allow setting a valid vcpu count for the topology so an invalid
* setting may be corrected via this API */
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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册