storage: Report errors in FindPoolSources

This commit is contained in:
Cole Robinson 2009-10-08 10:24:37 -04:00
parent 8fe128a46c
commit e3f5dbcdf0

View File

@ -440,15 +440,24 @@ storageFindPoolSources(virConnectPtr conn,
char *ret = NULL;
backend_type = virStoragePoolTypeFromString(type);
if (backend_type < 0)
if (backend_type < 0) {
virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR,
_("unknown storage pool type %s"), type);
goto cleanup;
}
backend = virStorageBackendForType(backend_type);
if (backend == NULL)
goto cleanup;
if (backend->findPoolSources)
ret = backend->findPoolSources(conn, srcSpec, flags);
if (!backend->findPoolSources) {
virStorageReportError(conn, VIR_ERR_NO_SUPPORT,
_("pool type '%s' does not support source "
"discovery"), type);
goto cleanup;
}
ret = backend->findPoolSources(conn, srcSpec, flags);
cleanup:
return ret;