[PATCH 1/3] Log warning if storage magic matches, but version does not

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

 



From: "Daniel P. Berrange" <berrange@xxxxxxxxxx>

To help us detect when new storage file versions come into
existance log a warning if the storage file magic matches,
but the version does not

Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
---
 src/util/storage_file.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/util/storage_file.c b/src/util/storage_file.c
index 17a47cf..4281d90 100644
--- a/src/util/storage_file.c
+++ b/src/util/storage_file.c
@@ -756,16 +756,26 @@ virStorageFileProbeFormatFromBuf(const char *path,
 {
     int format = VIR_STORAGE_FILE_RAW;
     int i;
+    int possibleFormat = VIR_STORAGE_FILE_RAW;
+    VIR_DEBUG("path=%s", path);
 
     /* First check file magic */
     for (i = 0 ; i < VIR_STORAGE_FILE_LAST ; i++) {
-        if (virStorageFileMatchesMagic(i, buf, buflen) &&
-            virStorageFileMatchesVersion(i, buf, buflen)) {
+        if (virStorageFileMatchesMagic(i, buf, buflen)) {
+            if (!virStorageFileMatchesVersion(i, buf, buflen)) {
+                possibleFormat = i;
+                continue;
+            }
             format = i;
             goto cleanup;
         }
     }
 
+    if (possibleFormat != VIR_STORAGE_FILE_RAW)
+        VIR_WARN("File %s matches %s magic, but version is wrong. "
+                 "Please report new version to libvir-list@xxxxxxxxxx",
+                 path, virStorageFileFormatTypeToString(possibleFormat));
+
     /* No magic, so check file extension */
     for (i = 0 ; i < VIR_STORAGE_FILE_LAST ; i++) {
         if (virStorageFileMatchesExtension(i, path)) {
-- 
1.7.11.7

--
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]