mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-10 23:07:44 +00:00
qemu: hotplug: Disallow modification of vcpu 0 in inactive config
vcpu 0 must be always enabled and non-hotpluggable, thus you can't modify it using the vcpu hotplug APIs. Disallow it so that users can't create invalid configurations. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1459785
This commit is contained in:
parent
0f0c0921e6
commit
b183f17d76
@ -5884,18 +5884,17 @@ qemuDomainFilterHotplugVcpuEntities(virDomainDefPtr def,
|
||||
|
||||
static int
|
||||
qemuDomainVcpuValidateConfig(virDomainDefPtr def,
|
||||
virBitmapPtr map,
|
||||
bool state)
|
||||
virBitmapPtr map)
|
||||
{
|
||||
virDomainVcpuDefPtr vcpu;
|
||||
size_t maxvcpus = virDomainDefGetVcpusMax(def);
|
||||
ssize_t next;
|
||||
ssize_t firstvcpu = -1;
|
||||
|
||||
/* vcpu 0 can't be disabled */
|
||||
if (!state && virBitmapIsBitSet(map, 0)) {
|
||||
/* vcpu 0 can't be modified */
|
||||
if (virBitmapIsBitSet(map, 0)) {
|
||||
virReportError(VIR_ERR_INVALID_ARG, "%s",
|
||||
_("vCPU '0' must be enabled"));
|
||||
_("vCPU '0' can't be modified"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -5959,7 +5958,7 @@ qemuDomainSetVcpuInternal(virQEMUDriverPtr driver,
|
||||
}
|
||||
|
||||
if (persistentDef) {
|
||||
if (qemuDomainVcpuValidateConfig(persistentDef, map, state) < 0)
|
||||
if (qemuDomainVcpuValidateConfig(persistentDef, map) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user