storage: backend: Add possibility to suppress errors from backend lookup

Add a new function wrapper and tweak the storage file backend lookup
function so that it can be used without reporting error. This will be
useful in the metadata crawler code where we need silently break if
metadata retrieval is not supported for the current storage type.
This commit is contained in:
Peter Krempa 2014-04-24 16:21:20 +02:00
parent 29aabe73fe
commit edfd6127c1
2 changed files with 17 additions and 3 deletions

View File

@ -1173,8 +1173,9 @@ virStorageBackendForType(int type)
virStorageFileBackendPtr
virStorageFileBackendForType(int type,
int protocol)
virStorageFileBackendForTypeInternal(int type,
int protocol,
bool report)
{
size_t i;
@ -1188,6 +1189,9 @@ virStorageFileBackendForType(int type,
}
}
if (!report)
return NULL;
if (type == VIR_STORAGE_TYPE_NETWORK) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("missing storage backend for network files "
@ -1203,6 +1207,14 @@ virStorageFileBackendForType(int type,
}
virStorageFileBackendPtr
virStorageFileBackendForType(int type,
int protocol)
{
return virStorageFileBackendForTypeInternal(type, protocol, true);
}
struct diskType {
int part_table_type;
unsigned short offset;

View File

@ -203,7 +203,9 @@ typedef int
int mode);
virStorageFileBackendPtr virStorageFileBackendForType(int type, int protocol);
virStorageFileBackendPtr virStorageFileBackendForTypeInternal(int type,
int protocol,
bool report);
struct _virStorageFileBackend {