[libvirt] [PATCH 4/4] qemu: domain: Don't infer vcpu state

Peter Krempa pkrempa at redhat.com
Tue Sep 13 16:27:46 UTC 2016


Use the state information (online, hotpluggable) provided by the monitor
code rather than trying to infer it. This fixes a issue where on
architectures that require hotplug of multiple threads at once the
sub-cores would get updated as offline on daemon restart thus creating
an invalid configuration.
---
 src/qemu/qemu_domain.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index fb766d0..3f16dbe 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -5941,15 +5941,11 @@ qemuDomainRefreshVcpuInfo(virQEMUDriverPtr driver,
         vcpupriv->enable_id = info[i].id;

         if (hotplug && state) {
-            vcpu->online = !!info[i].qom_path;
-
-            /* mark cpus that don't have an alias as non-hotpluggable */
-            if (vcpu->online) {
-                if (vcpupriv->alias)
-                    vcpu->hotpluggable = VIR_TRISTATE_BOOL_YES;
-                else
-                    vcpu->hotpluggable = VIR_TRISTATE_BOOL_NO;
-            }
+            vcpu->online = info[i].online;
+            if (info[i].hotpluggable)
+                vcpu->hotpluggable = VIR_TRISTATE_BOOL_YES;
+            else
+                vcpu->hotpluggable = VIR_TRISTATE_BOOL_NO;
         }
     }

-- 
2.10.0




More information about the libvir-list mailing list