From 20ee78bf9bafe542097fe0e144921d001a6799a7 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Wed, 29 Mar 2017 16:56:05 +0200 Subject: [PATCH] qemu: domain: Properly lookup top of chain in qemuDomainGetStorageSourceByDevstr When idx is 0 virStorageFileChainLookup returns the base (bottom) of the backing chain rather than the top. This is expected by the callers of qemuDomainGetStorageSourceByDevstr. Add a special case for idx == 0 --- src/qemu/qemu_domain.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 458bb5f9a4..589eb18899 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -8605,7 +8605,10 @@ qemuDomainGetStorageSourceByDevstr(const char *devstr, goto cleanup; } - src = virStorageFileChainLookup(disk->src, NULL, NULL, idx, NULL); + if (idx == 0) + src = disk->src; + else + src = virStorageFileChainLookup(disk->src, NULL, NULL, idx, NULL); cleanup: VIR_FREE(target);