qemu: hotplug: Add validation for coldplug of individual vcpus

Validate that users don't try to disable vcpu 0.
This commit is contained in:
Peter Krempa 2017-03-31 13:13:14 +02:00
parent b416a33a6f
commit ee86d45de3
1 changed files with 20 additions and 0 deletions

View File

@ -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;