[PATCH 4/7] virStorageSourceNewFromBacking: Also transfer the format

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

 



When we create the new virStorageSource from the definitions stored in
the parent we should also use the 'backingStoreRawFormat' field to
populate the format.

Callers which use virStorageSourceNewFromBacking are also fixed to stop
setting the format manually.

Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx>
---
 src/storage/storage_util.c | 5 +----
 src/util/virstoragefile.c  | 3 +--
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c
index 8199c7a2af..f71abbd729 100644
--- a/src/storage/storage_util.c
+++ b/src/storage/storage_util.c
@@ -3329,7 +3329,6 @@ static int
 storageBackendProbeTarget(virStorageSourcePtr target,
                           virStorageEncryptionPtr *encryption)
 {
-    int backingStoreFormat;
     int rc;
     struct stat sb;
     g_autoptr(virStorageSource) meta = NULL;
@@ -3360,15 +3359,13 @@ storageBackendProbeTarget(virStorageSourcePtr target,
     if (!(meta = virStorageFileGetMetadataFromFD(target->path,
                                                  fd,
                                                  VIR_STORAGE_FILE_AUTO,
-                                                 &backingStoreFormat)))
+                                                 NULL)))
         return -1;

     if (meta->backingStoreRaw) {
         if (virStorageSourceNewFromBacking(meta, &target->backingStore) < 0)
             return -1;

-        target->backingStore->format = backingStoreFormat;
-
         /* XXX: Remote storage doesn't play nicely with volumes backed by
          * remote storage. To avoid trouble, just fake the backing store is RAW
          * and put the string from the metadata as the path of the target. */
diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
index 2d8fe59c25..6fddc0610e 100644
--- a/src/util/virstoragefile.c
+++ b/src/util/virstoragefile.c
@@ -3824,6 +3824,7 @@ virStorageSourceNewFromBacking(virStorageSourcePtr parent,
                                            backing)) < 0)
         return rc;

+    (*backing)->format = parent->backingStoreRawFormat;
     (*backing)->readonly = true;
     return rc;
 }
@@ -5028,8 +5029,6 @@ virStorageFileGetMetadataRecurse(virStorageSourcePtr src,
         if (rv == 1)
             return 0;

-        backingStore->format = src->backingStoreRawFormat;
-
         if (backingStore->format == VIR_STORAGE_FILE_AUTO) {
             /* Assuming the backing store to be raw can lead to failures. We do
              * it only when we must not report an error to prevent losing VMs.
-- 
2.24.1





[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