mirror of https://gitee.com/openkylin/libvirt.git
qemu: hotplug: Add validation for coldplug of individual vcpus
Validate that users don't try to disable vcpu 0.
This commit is contained in:
parent
b416a33a6f
commit
ee86d45de3
|
@ -5875,6 +5875,21 @@ qemuDomainFilterHotplugVcpuEntities(virDomainDefPtr def,
|
|||
}
|
||||
|
||||
|
||||
static int
|
||||
qemuDomainVcpuValidateConfig(virBitmapPtr map,
|
||||
bool state)
|
||||
{
|
||||
/* vcpu 0 can't be disabled */
|
||||
if (!state && virBitmapIsBitSet(map, 0)) {
|
||||
virReportError(VIR_ERR_INVALID_ARG, "%s",
|
||||
_("vCPU '0' must be enabled"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
qemuDomainSetVcpuInternal(virQEMUDriverPtr driver,
|
||||
virDomainObjPtr vm,
|
||||
|
@ -5909,6 +5924,11 @@ qemuDomainSetVcpuInternal(virQEMUDriverPtr driver,
|
|||
}
|
||||
}
|
||||
|
||||
if (persistentDef) {
|
||||
if (qemuDomainVcpuValidateConfig(map, state) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (livevcpus &&
|
||||
qemuDomainSetVcpusLive(driver, cfg, vm, livevcpus, state) < 0)
|
||||
goto cleanup;
|
||||
|
|
Loading…
Reference in New Issue