From dfba37048a6cb684ee6938131d7f557ddf16d53d Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Thu, 13 Dec 2012 14:22:51 +0000 Subject: [PATCH] Log warning if storage magic matches, but version does not 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 --- 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 17a47cf02..4281d90d0 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@redhat.com", + path, virStorageFileFormatTypeToString(possibleFormat)); + /* No magic, so check file extension */ for (i = 0 ; i < VIR_STORAGE_FILE_LAST ; i++) { if (virStorageFileMatchesExtension(i, path)) { -- 2.39.5