From: Peter Krempa Date: Tue, 26 Nov 2024 14:59:43 +0000 (+0100) Subject: qemuDomainGetStorageSourceByDevstr: Lookup also '' X-Git-Tag: v10.10.0-rc2~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=976300fdf4ebf0a00a4ea94fb60a34085ed1d45a;p=thirdparty%2Flibvirt.git qemuDomainGetStorageSourceByDevstr: Lookup also '' The volumes have their own 'id' so we need to be able to look them up for the given image chain. Signed-off-by: Peter Krempa Reviewed-by: Jiri Denemark --- diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 4499fed6bc..1fc4e2f33f 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -9260,12 +9260,18 @@ qemuDomainGetStorageSourceByDevstr(const char *devstr, for (n = disk->src; virStorageSourceIsBacking(n); n = n->backingStore) { if (n->id == idx) return n; + + if (n->dataFileStore && n->dataFileStore->id == idx) + return n->dataFileStore; } if (disk->mirror) { for (n = disk->mirror; virStorageSourceIsBacking(n); n = n->backingStore) { if (n->id == idx) return n; + + if (n->dataFileStore && n->dataFileStore->id == idx) + return n->dataFileStore; } } @@ -9281,6 +9287,9 @@ qemuDomainGetStorageSourceByDevstr(const char *devstr, for (n = backupdisk->store; virStorageSourceIsBacking(n); n = n->backingStore) { if (n->id == idx) return n; + + if (n->dataFileStore && n->dataFileStore->id == idx) + return n->dataFileStore; } } }