[PATCH 17/21] qemuDomainGetStatsPerfOneEvent: Ignore erros from 'virPerfReadEvent'

Peter Krempa posted 21 patches 9 months, 4 weeks ago
[PATCH 17/21] qemuDomainGetStatsPerfOneEvent: Ignore erros from 'virPerfReadEvent'
Posted by Peter Krempa 9 months, 4 weeks ago
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 <pkrempa@redhat.com>
---
 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.48.1