[PATCHv2] qemu: Stop recursive detection of image chains when an image is missing

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

 



Commit e0c469e58b93f852a72265919703cb6abd3779f8 that fixes the detection
of image chain wasn't complete. Iteration through the backing image
chain has to stop at the last existing image if some of the images are
missing otherwise the backing chain that is cached contains entries with
paths being set to NULL resulting to:

error: Unable to allow access for disk path (null): Bad address

Fortunately stat() is kind enough not to crash when it's presented with
a NULL argument. At least on Linux.
---
Left meta->backingStoreRaw in place to mark broken chains, added a comment and a warning.
---
 src/util/storage_file.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/util/storage_file.c b/src/util/storage_file.c
index 2249212..4417404 100644
--- a/src/util/storage_file.c
+++ b/src/util/storage_file.c
@@ -728,8 +728,13 @@ virStorageFileGetMetadataFromBuf(int format,
                 meta->backingStore = absolutePathFromBaseFile(path, backing);
                 if (meta->backingStore == NULL) {
                     /* the backing file is (currently) unavailable, treat this
-                     * file as standalone */
+                     * file as standalone:
+                     * backingStoreRaw is kept to mark broken image chains */
+                    meta->backingStoreIsFile = false;
                     backingFormat = VIR_STORAGE_FILE_NONE;
+                    VIR_WARN("Backing file '%s' of image '%s' is missing.",
+                             meta->backingStoreRaw, path);
+
                 }
             }
             VIR_FREE(backing);
-- 
1.8.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]