Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/qemu/qemu_driver.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 479bf3adfe..e8e8bdbb14 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -20194,20 +20194,18 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDefPtr disk,
{
char *alias = NULL;
- virStorageSourcePtr src = disk->src;
+ virStorageSourcePtr n;
int ret = -1;
- while (virStorageSourceIsBacking(src) &&
- (src == disk->src || visitBacking)) {
-
+ for (n = disk->src; virStorageSourceIsBacking(n); n = n->backingStore) {
/* alias may be NULL if the VM is not running */
if (disk->info.alias &&
- !(alias = qemuDomainStorageAlias(disk->info.alias, src->id)))
+ !(alias = qemuDomainStorageAlias(disk->info.alias, n->id)))
goto cleanup;
- qemuDomainGetStatsOneBlockRefreshNamed(src, alias, stats, nodestats);
+ qemuDomainGetStatsOneBlockRefreshNamed(n, alias, stats, nodestats);
- if (qemuDomainGetStatsBlockExportHeader(disk, src, *recordnr,
+ if (qemuDomainGetStatsBlockExportHeader(disk, n, *recordnr,
records, nrecords) < 0)
goto cleanup;
@@ -20216,13 +20214,15 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDefPtr disk,
goto cleanup;
if (qemuDomainGetStatsOneBlock(driver, cfg, dom, records, nrecords,
- alias, src, *recordnr,
+ alias, n, *recordnr,
stats) < 0)
goto cleanup;
VIR_FREE(alias);
(*recordnr)++;
- src = src->backingStore;
+
+ if (!visitBacking)
+ break;
}
ret = 0;
--
2.16.2