From e004f1c6096067111eafc38c347ded02e8dc13d1 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Fri, 3 Aug 2018 14:13:43 +0200 Subject: [PATCH] qemu: Refactor control flow in qemuDomainGetStatsBlockExportDisk MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- 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 08cd959358..53c2fc5ddf 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -20191,20 +20191,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; @@ -20213,13 +20211,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.47.2