[libvirt] [PATCH 5/6] qemu: qemuDomainGetStatsVcpu: Fix output for possible sparse vCPU settings

Peter Krempa pkrempa at redhat.com
Wed Feb 17 16:25:07 UTC 2016


qemuDomainHelperGetVcpus would correctly return an array of
virVcpuInfoPtr structs for online vcpus even for sparse topologies, but
the loop that fills the returned typed parameters would number the vcpus
incorrectly. Fortunately sparse topologies aren't supported yet.
---
 src/qemu/qemu_driver.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index d1e5188..b1f94bd 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -18965,7 +18965,7 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,

     for (i = 0; i < virDomainDefGetVcpus(dom->def); i++) {
         snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH,
-                 "vcpu.%zu.state", i);
+                 "vcpu.%u.state", cpuinfo[i].number);
         if (virTypedParamsAddInt(&record->params,
                                  &record->nparams,
                                  maxparams,
@@ -18978,7 +18978,7 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
             continue;

         snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH,
-                 "vcpu.%zu.time", i);
+                 "vcpu.%u.time", cpuinfo[i].number);
         if (virTypedParamsAddULLong(&record->params,
                                     &record->nparams,
                                     maxparams,
@@ -18986,7 +18986,7 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
                                     cpuinfo[i].cpuTime) < 0)
             goto cleanup;
         snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH,
-                 "vcpu.%zu.wait", i);
+                 "vcpu.%u.wait", cpuinfo[i].number);
         if (virTypedParamsAddULLong(&record->params,
                                     &record->nparams,
                                     maxparams,
-- 
2.6.2




More information about the libvir-list mailing list