]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuDomainGetStorageSourceByDevstr: Lookup also '<dataStore>'
authorPeter Krempa <pkrempa@redhat.com>
Tue, 26 Nov 2024 14:59:43 +0000 (15:59 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 28 Nov 2024 09:27:56 +0000 (10:27 +0100)
The <dataStore> 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 <pkrempa@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
src/qemu/qemu_domain.c

index 4499fed6bce365df8861b54b2a905180ebca9af6..1fc4e2f33fb660f32d75616c7e2b9578105e26d4 100644 (file)
@@ -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;
             }
         }
     }