1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-20 06:50:22 +03:00

qemuDomainGetStatsCpuCache: Don't error out

The bulk domain stats API is meant to collect as much data as possible
without erroring out.

If fetching of the cache stats fails just skip outputting them.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2025-02-17 13:55:08 +01:00
parent f660984273
commit a4c0c6fd9f

View File

@ -16760,7 +16760,7 @@ qemuDomainGetStatsMemoryBandwidth(virQEMUDriver *driver,
}
static int
static void
qemuDomainGetStatsCpuCache(virQEMUDriver *driver,
virDomainObj *dom,
virTypedParamList *params)
@ -16769,14 +16769,16 @@ qemuDomainGetStatsCpuCache(virQEMUDriver *driver,
size_t nresdata = 0;
size_t i = 0;
size_t j = 0;
int ret = -1;
if (!virDomainObjIsActive(dom))
return 0;
return;
if (qemuDomainGetResctrlMonData(driver, dom, &resdata, &nresdata,
VIR_RESCTRL_MONITOR_TYPE_CACHE) < 0)
goto cleanup;
VIR_RESCTRL_MONITOR_TYPE_CACHE) < 0) {
/* don't return cache stats if we can't fetch them */
virResetLastError();
return;
}
virTypedParamListAddUInt(params, nresdata, "cpu.cache.monitor.count");
@ -16803,12 +16805,9 @@ qemuDomainGetStatsCpuCache(virQEMUDriver *driver,
}
}
ret = 0;
cleanup:
for (i = 0; i < nresdata; i++)
qemuDomainFreeResctrlMonData(resdata[i]);
VIR_FREE(resdata);
return ret;
}
@ -16956,8 +16955,7 @@ qemuDomainGetStatsCpu(virQEMUDriver *driver,
qemuDomainGetStatsCpuProc(dom, params);
}
if (qemuDomainGetStatsCpuCache(driver, dom, params) < 0)
return -1;
qemuDomainGetStatsCpuCache(driver, dom, params);
qemuDomainGetStatsCpuHaltPollTime(dom, params, privflags);