Signed-off-by: Cole Robinson <crobinso(a)redhat.com>
---
src/storage/storage_driver.c | 15 ++++++++++++---
1 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index 9ab53e1..4f8949b 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -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;
--
1.6.5.rc2