[PATCH 13/14] util: storagefile: Don't traverse storage sources unusable by VM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



virStorageFileGetMetadataRecurse would include in the backing chain
files which would not really be usable by libvirt directly e.g. when
such file would be promoted to the top layer by a active block commit as
for example inline authentication data can't be represented in the VM
xml file. The idea is to use secrets for this.

With the changes to the backing store string parsers we can report and
propagate if such a thing is present in the configuration and thus start
skipping those files in the backing chain traversal code. This approach
still allows to report the appropriate backing store string in the
storage driver which doesn't directly use the backing file.

Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx>
---
 src/util/virstoragefile.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
index 32afee1ca7..efc1d84048 100644
--- a/src/util/virstoragefile.c
+++ b/src/util/virstoragefile.c
@@ -4941,9 +4941,15 @@ virStorageFileGetMetadataRecurse(virStorageSourcePtr src,
         goto cleanup;

     if (src->backingStoreRaw) {
-        if (virStorageSourceNewFromBacking(src, &backingStore) < 0)
+        if ((rv = virStorageSourceNewFromBacking(src, &backingStore)) < 0)
             goto cleanup;

+        if (rv == 1) {
+            /* the backing file would not be usable for VM usage */
+            ret = 0;
+            goto cleanup;
+        }
+
         if (backingFormat == VIR_STORAGE_FILE_AUTO)
             backingStore->format = VIR_STORAGE_FILE_RAW;
         else if (backingFormat == VIR_STORAGE_FILE_AUTO_SAFE)
-- 
2.21.0

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux