mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-20 06:50:22 +03:00
qemuDomainGetStatsDirtyRate: 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 dirty rate 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
a0122665c6
commit
4086f9ed5c
@ -17601,19 +17601,6 @@ qemuDomainGetStatsPerf(virQEMUDriver *driver G_GNUC_UNUSED,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
qemuDomainGetStatsDirtyRateMon(virDomainObj *vm,
|
||||
qemuMonitorDirtyRateInfo *info)
|
||||
{
|
||||
qemuDomainObjPrivate *priv = vm->privateData;
|
||||
int ret;
|
||||
|
||||
qemuDomainObjEnterMonitor(vm);
|
||||
ret = qemuMonitorQueryDirtyRate(priv->mon, info);
|
||||
qemuDomainObjExitMonitor(vm);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
qemuDomainGetStatsDirtyRate(virQEMUDriver *driver G_GNUC_UNUSED,
|
||||
@ -17621,13 +17608,21 @@ qemuDomainGetStatsDirtyRate(virQEMUDriver *driver G_GNUC_UNUSED,
|
||||
virTypedParamList *params,
|
||||
unsigned int privflags)
|
||||
{
|
||||
qemuDomainObjPrivate *priv = dom->privateData;
|
||||
qemuMonitorDirtyRateInfo info;
|
||||
int rv;
|
||||
|
||||
if (!HAVE_JOB(privflags) || !virDomainObjIsActive(dom))
|
||||
return 0;
|
||||
|
||||
if (qemuDomainGetStatsDirtyRateMon(dom, &info) < 0)
|
||||
return -1;
|
||||
qemuDomainObjEnterMonitor(dom);
|
||||
rv = qemuMonitorQueryDirtyRate(priv->mon, &info);
|
||||
qemuDomainObjExitMonitor(dom);
|
||||
|
||||
if (rv < 0) {
|
||||
virResetLastError();
|
||||
return 0;
|
||||
}
|
||||
|
||||
virTypedParamListAddInt(params, info.status, "dirtyrate.calc_status");
|
||||
virTypedParamListAddLLong(params, info.startTime, "dirtyrate.calc_start_time");
|
||||
|
Loading…
x
Reference in New Issue
Block a user