[libvirt] [PATCHv2 57/62] qemu: Export stats relevant for the storage backend

Peter Krempa pkrempa at redhat.com
Mon Aug 13 16:00:31 UTC 2018


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 at redhat.com>
---
 src/qemu/qemu_driver.c | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index c09108b57e..55bb8f71fe 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -20114,8 +20114,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;
@@ -20221,6 +20242,11 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDefPtr disk,
                                        stats) < 0)
             goto cleanup;

+        if (qemuDomainGetStatsBlockExportBackendStorage(alias,
+                                                        stats, *recordnr,
+                                                        records, nrecords) < 0)
+            goto cleanup;
+
         VIR_FREE(alias);
         (*recordnr)++;

-- 
2.16.2




More information about the libvir-list mailing list