diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 8fbc4dd75e9daafb995175e99e3cb9c678d94380..16f8f9ec00b385d55c5f82d71bae04d6801517db 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -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)++;