diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2012-12-13 14:22:51 +0000 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2012-12-13 15:00:12 +0000 |
commit | dfba37048a6cb684ee6938131d7f557ddf16d53d (patch) | |
tree | 8ff737414394ddfac7cc07c0805b1041c770cd2e | |
parent | f6bd0a88997e25e4efed527ac336f38975bc8fab (diff) | |
download | libvirt-dfba37048a6cb684ee6938131d7f557ddf16d53d.tar.gz |
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 <berrange@redhat.com>
-rw-r--r-- | src/util/storage_file.c | 14 |
1 files changed, 12 insertions, 2 deletions
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)) { |