[libvirt] [PATCH 4/5] qemu: cpu: unplug: Remove vcpu pinning on cold cpu unplug
Peter Krempa
pkrempa at redhat.com
Fri Aug 15 14:49:12 UTC 2014
Remove the pinning info when removing to CPU, otherwise when the VM will
be started our code will try to pin non-existing vcpus as the definition
wasn't updated.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1129372
---
src/qemu/qemu_driver.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index ac0717c..bff8f77 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -4277,6 +4277,7 @@ qemuDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus,
qemuAgentCPUInfoPtr cpuinfo = NULL;
int ncpuinfo;
qemuDomainObjPrivatePtr priv;
+ size_t i;
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
VIR_DOMAIN_AFFECT_CONFIG |
@@ -4386,6 +4387,12 @@ qemuDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus,
}
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
+ /* remove vcpupin entries for vcpus that were unplugged */
+ if (nvcpus < persistentDef->vcpus) {
+ for (i = persistentDef->vcpus; i >= nvcpus; i--)
+ virDomainVcpuPinDel(persistentDef, i);
+ }
+
if (maximum) {
persistentDef->maxvcpus = nvcpus;
if (nvcpus < persistentDef->vcpus)
--
2.0.2
More information about the libvir-list
mailing list