From: Daniel P. Berrange Date: Thu, 13 Dec 2012 14:22:51 +0000 (+0000) Subject: Log warning if storage magic matches, but version does not X-Git-Tag: v1.0.1-rc2~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dfba37048a6cb684ee6938131d7f557ddf16d53d;p=thirdparty%2Flibvirt.git 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 --- diff --git a/src/util/storage_file.c b/src/util/storage_file.c index 17a47cf026..4281d90d05 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)) {