[libvirt] [PATCH v2] storage: netfs and iscsi need option srcSpec for resource discovery

Guannan Ren gren at redhat.com
Wed Jul 18 10:26:18 UTC 2012

The option 'srcSpec' to virsh command find-storage-pool-sources
is optional for logical type of storage pool, but mandatory for
netfs and iscsi type.
When missing the option for netfs and iscsi, libvirt reports XML
parsing error due to null string option srcSpec.

error: Failed to find any netfs pool sources
error: (storage_source_specification):1: Document is empty

This patch adds a check for it, error info changed to:
error: Failed to find any netfs pool sources
error: internal error pool type 'netfs' need option \
       --srcSpec for source discovery
 src/storage/storage_driver.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index fbc630d..8486fdf 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -458,6 +458,14 @@ storageFindPoolSources(virConnectPtr conn,
         goto cleanup;
+    if ((*srcSpec == '\0') && (backend_type == VIR_STORAGE_POOL_ISCSI ||
+                               backend_type == VIR_STORAGE_POOL_NETFS)) {
+        virStorageReportError(VIR_ERR_INTERNAL_ERROR,
+                              _("pool type '%s' needs option --srcSpec "
+                                "for source discovery"), type);
+        goto cleanup;
+    }
     ret = backend->findPoolSources(conn, srcSpec, flags);

More information about the libvir-list mailing list