mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-20 06:50:22 +03:00
qemuDomainGetStatsMemoryBandwidth: 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 memory bandwidth 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:
parent
a761c44b90
commit
a0122665c6
@ -16697,28 +16697,30 @@ qemuDomainGetResctrlMonData(virQEMUDriver *driver,
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
static void
|
||||
qemuDomainGetStatsMemoryBandwidth(virQEMUDriver *driver,
|
||||
virDomainObj *dom,
|
||||
virTypedParamList *params)
|
||||
{
|
||||
virQEMUResctrlMonData **resdata = NULL;
|
||||
g_autofree virQEMUResctrlMonData **resdata = NULL;
|
||||
char **features = NULL;
|
||||
size_t nresdata = 0;
|
||||
size_t i = 0;
|
||||
size_t j = 0;
|
||||
size_t k = 0;
|
||||
int ret = -1;
|
||||
|
||||
if (!virDomainObjIsActive(dom))
|
||||
return 0;
|
||||
return;
|
||||
|
||||
if (qemuDomainGetResctrlMonData(driver, dom, &resdata, &nresdata,
|
||||
VIR_RESCTRL_MONITOR_TYPE_MEMBW) < 0)
|
||||
goto cleanup;
|
||||
VIR_RESCTRL_MONITOR_TYPE_MEMBW) < 0) {
|
||||
/* don't return cache stats if we can't fetch them */
|
||||
virResetLastError();
|
||||
return;
|
||||
}
|
||||
|
||||
if (nresdata == 0)
|
||||
return 0;
|
||||
return;
|
||||
|
||||
virTypedParamListAddUInt(params, nresdata, "memory.bandwidth.monitor.count");
|
||||
|
||||
@ -16751,12 +16753,8 @@ qemuDomainGetStatsMemoryBandwidth(virQEMUDriver *driver,
|
||||
}
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
cleanup:
|
||||
for (i = 0; i < nresdata; i++)
|
||||
qemuDomainFreeResctrlMonData(resdata[i]);
|
||||
VIR_FREE(resdata);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@ -16970,7 +16968,8 @@ qemuDomainGetStatsMemory(virQEMUDriver *driver,
|
||||
unsigned int privflags G_GNUC_UNUSED)
|
||||
|
||||
{
|
||||
return qemuDomainGetStatsMemoryBandwidth(driver, dom, params);
|
||||
qemuDomainGetStatsMemoryBandwidth(driver, dom, params);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user