]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuDomainGetStatsPerfOneEvent: Ignore erros from 'virPerfReadEvent'
authorPeter Krempa <pkrempa@redhat.com>
Mon, 17 Feb 2025 13:19:54 +0000 (14:19 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 20 Feb 2025 14:15:40 +0000 (15:15 +0100)
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>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_driver.c

index e5d5c8c4844acfb1ecd788bebb39d7f2f158b069..8d413fc4dfd9edd1880db553f9105cfad1d4c9b9 100644 (file)
@@ -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;