On 03/27/2017 05:19 PM, Jiri Denemark wrote: > On Mon, Mar 27, 2017 at 13:42:22 -0400, John Ferlan wrote: >> 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@xxxxxxxxxx> >> --- >> 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; > > Wrong indentation... > >> + } > > but why exactly is this forbidden now? I should be able to create a pool > with a (libvirt's) name which differs from the (system's) name of the > volume group, shouldn't I? And apparently it used to work while it is > not working now after this patch as failing virt-manager builds on > ci.centos.org suggest. > If 'source.name' isn't supplied it defaults to ret->name. The ret->name is supposed to be the Volume Group name (it's the "unique" to the host name). Although I suppose it could be something different, but if only the name is required in order to define/create the pool, then how does one "ensure" that the name provided is the volume group name. It's kind of a conundrum... Still I certainly suppose someone could do something different, so I suppose this part could be reverted. FWIW: The 'source.name' is used is by the logical backend for various vg* and lv* commands. So if it's not the Volume Group name, then commands fail (as seen in the bz). I really think it's just "smart sense" to make them be the same to avoid "confusion". John -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list