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(a)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 ee401eb702..63c1a85d5a 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -20128,8 +20128,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;
@@ -20235,6 +20256,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