qemu: Export stats relevant for the storage backend

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>
This commit is contained in:
Peter Krempa 2018-08-07 15:44:14 +02:00
parent 419c7e12c7
commit 47fa65ec7f

View 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)++;