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 --- src/qemu/qemu_hotplug.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index a486fb4fe..dd030d3d9 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -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; } -- 2.12.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list