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@xxxxxxxxxx> --- 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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list