]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Export stats relevant for the storage backend
authorPeter Krempa <pkrempa@redhat.com>
Tue, 7 Aug 2018 13:44:14 +0000 (15:44 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 21 Aug 2018 13:46:06 +0000 (15:46 +0200)
Data relevant for the storage of a backing chain member will need to be
reported separately when switching to blockdev. Prepare a function that
extracts the appropriate data.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_driver.c

index 8fbc4dd75e9daafb995175e99e3cb9c678d94380..16f8f9ec00b385d55c5f82d71bae04d6801517db 100644 (file)
@@ -20111,8 +20111,29 @@ qemuDomainGetStatsOneBlock(virQEMUDriverPtr driver,
         }
     }
 
+    ret = 0;
+ cleanup:
+    return ret;
+}
+
+
+static int
+qemuDomainGetStatsBlockExportBackendStorage(const char *entryname,
+                                            virHashTablePtr stats,
+                                            size_t recordnr,
+                                            virDomainStatsRecordPtr records,
+                                            int *nrecords)
+{
+    qemuBlockStats *entry;
+    int ret = -1;
+
+    if (!stats || !entryname || !(entry = virHashLookup(stats, entryname))) {
+        ret = 0;
+        goto cleanup;
+    }
+
     if (entry->write_threshold)
-        QEMU_ADD_BLOCK_PARAM_ULL(record, maxparams, block_idx, "threshold",
+        QEMU_ADD_BLOCK_PARAM_ULL(records, nrecords, recordnr, "threshold",
                                  entry->write_threshold);
 
     ret = 0;
@@ -20218,6 +20239,11 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDefPtr disk,
                                        stats) < 0)
             goto cleanup;
 
+        if (qemuDomainGetStatsBlockExportBackendStorage(alias,
+                                                        stats, *recordnr,
+                                                        records, nrecords) < 0)
+            goto cleanup;
+
         VIR_FREE(alias);
         (*recordnr)++;