On Tue, Feb 07, 2017 at 07:56:29 -0500, Kothapally Madhu Pavan wrote: > This patch will prevent guest to start when the maximum > vcpus are greater than cpu topology limit. Currently similar > checks do exist only during setvcpus. The patch adds the > missing check. The c9cb35c255222 reverted similar check to > avoid older configs from vanishing. The current patch adds > it in domain validation part to be consistent with the > original intent. > > Signed-off-by: Kothapally Madhu Pavan <kmp@xxxxxxxxxxxxxxxxxx> > --- > src/qemu/qemu_process.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c > index 184440d..f0d42b8 100644 > --- a/src/qemu/qemu_process.c > +++ b/src/qemu/qemu_process.c > @@ -3738,6 +3738,13 @@ qemuValidateCpuCount(virDomainDefPtr def, > return -1; > } > > + if (def->cpu->sockets && virDomainDefGetVcpusMax(def) > > + def->cpu->sockets * def->cpu->cores * def->cpu->threads) { > + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", > + _("Maximum CPUs greater than topology limit")); > + return -1; > + } This exact logic is done in qemuDomainDefValidate: + if (virDomainDefGetVcpusTopology(def, &topologycpus) == 0 && + topologycpus != virDomainDefGetVcpusMax(def)) { + /* presence of query-hotpluggable-cpus should be a good enough witness */ + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("CPU topology doesn't match maximum vcpu count")); + goto cleanup; } } See commit 043ba4a40a4ae26cf616146d0d1c129d65b156b8. The only difference is that the code is validated only for certain versions of qemu known to reject such configuration. Is that not enough? Peter
Attachment:
signature.asc
Description: PGP signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list