[libvirt] [PATCH v2 3/4] storage: Better describe logical pool creation/definition parameters

John Ferlan jferlan at redhat.com
Mon Mar 27 17:42:22 UTC 2017


https://bugzilla.redhat.com/show_bug.cgi?id=1398087

Clean up the virsh man page description for --pool-create-as in order
to better describe how the various arguments are used when creating
(or defining) a logical pool.

Also modify the storage pool XML parsing algorithm to check for the
mismatched "name" and "source-name".

Signed-off-by: John Ferlan <jferlan at redhat.com>
---
 src/conf/storage_conf.c | 8 ++++++++
 tools/virsh.pod         | 7 +++++++
 2 files changed, 15 insertions(+)

diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c
index 585ca71..5213503 100644
--- a/src/conf/storage_conf.c
+++ b/src/conf/storage_conf.c
@@ -760,6 +760,14 @@ virStoragePoolDefParseXML(xmlXPathContextPtr ctxt)
             if (VIR_STRDUP(ret->source.name, ret->name) < 0)
                 goto error;
         }
+        if (ret->type == VIR_STORAGE_POOL_LOGICAL &&
+            STRNEQ(ret->name, ret->source.name)) {
+                virReportError(VIR_ERR_XML_ERROR,
+                               _("for a logical pool, the pool name='%s' "
+                                 "must match the pool source name='%s'"),
+                               ret->name, ret->source.name);
+                goto error;
+        }
     }
 
     if ((options->flags & VIR_STORAGE_POOL_SOURCE_ADAPTER) &&
diff --git a/tools/virsh.pod b/tools/virsh.pod
index 43124ba..55b71a9 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -3639,6 +3639,13 @@ follow-up command to build the pool. The I<--overwrite> and
 I<--no-overwrite> flags follow the same rules as B<pool-build>. If
 just I<--build> is provided, then B<pool-build> is called with no flags.
 
+For a "logical" pool only [I<--name>] needs to be provided. The [I<--name>]
+must match the Volume Group name for which the pool is being defined or
+created. The [I<--source-name>] if provided must match the Volume Group
+name. If not provided, one will be generated using the [I<--name>]. If
+provided the [I<--target>] is ignored and a target source is generated
+using the [I<--source-name>] (or as generated from the [I<--name>]).
+
 =item B<pool-define> I<file>
 
 Define an inactive persistent storage pool or modify an existing persistent one
-- 
2.9.3




More information about the libvir-list mailing list