From f05f54d8fbfcc6915c9a81e8bace22ed68b389a5 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Mon, 17 Feb 2025 14:19:54 +0100 Subject: [PATCH] qemuDomainGetStatsPerfOneEvent: Ignore erros from 'virPerfReadEvent' MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The bulk domain stats API is meant to collect as much data as possible without erroring out. Skip the perf stats if we can't fetch them instead of erroring out. Signed-off-by: Peter Krempa Reviewed-by: Michal Privoznik Reviewed-by: Ján Tomko --- src/qemu/qemu_driver.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index e5d5c8c484..8d413fc4df 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -17575,23 +17575,17 @@ qemuDomainGetStatsIOThread(virQEMUDriver *driver G_GNUC_UNUSED, } -static int +static void qemuDomainGetStatsPerfOneEvent(virPerf *perf, virPerfEventType type, virTypedParamList *params) { uint64_t value = 0; - int rv; - if ((rv = virPerfReadEvent(perf, type, &value)) < 0) { - virReportSystemError(-rv, "%s", - _("Unable to read cache data")); - return -1; - } + if (virPerfReadEvent(perf, type, &value) < 0) + return; virTypedParamListAddULLong(params, value, "perf.%s", virPerfEventTypeToString(type)); - - return 0; } static int @@ -17607,8 +17601,7 @@ qemuDomainGetStatsPerf(virQEMUDriver *driver G_GNUC_UNUSED, if (!virPerfEventIsEnabled(priv->perf, i)) continue; - if (qemuDomainGetStatsPerfOneEvent(priv->perf, i, params) < 0) - return -1; + qemuDomainGetStatsPerfOneEvent(priv->perf, i, params); } return 0; -- 2.47.3