For native gluster pools the <dir> field denotes a directory inside the pool. For the actual pool name the <name> field has to be used. --- src/storage/storage_util.c | 15 ++++++++++++--- tests/virstorageutildata/gluster-parse-basic-native.xml | 3 ++- .../virstorageutildata/gluster-parse-multivol-native.xml | 9 ++++++--- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c index 19c73497f..241b6890a 100644 --- a/src/storage/storage_util.c +++ b/src/storage/storage_util.c @@ -2846,6 +2846,7 @@ virStorageUtilGlusterExtractPoolSources(const char *host, xmlXPathContextPtr ctxt = NULL; xmlNodePtr *nodes = NULL; virStoragePoolSource *src = NULL; + char *volname; size_t i; int nnodes; int ret = -1; @@ -2862,12 +2863,22 @@ virStorageUtilGlusterExtractPoolSources(const char *host, if (!(src = virStoragePoolSourceListNewSource(list))) goto cleanup; - if (!(src->dir = virXPathString("string(./name)", ctxt))) { + if (!(volname = virXPathString("string(./name)", ctxt))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("failed to extract gluster volume name")); goto cleanup; } + if (netfs) { + src->format = VIR_STORAGE_POOL_NETFS_GLUSTERFS; + src->dir = volname; + } else { + src->name = volname; + + if (VIR_STRDUP(src->dir, "/") < 0) + goto cleanup; + } + if (VIR_ALLOC_N(src->hosts, 1) < 0) goto cleanup; src->nhost = 1; @@ -2875,8 +2886,6 @@ virStorageUtilGlusterExtractPoolSources(const char *host, if (VIR_STRDUP(src->hosts[0].name, host) < 0) goto cleanup; - if (netfs) - src->format = VIR_STORAGE_POOL_NETFS_GLUSTERFS; } ret = nnodes; diff --git a/tests/virstorageutildata/gluster-parse-basic-native.xml b/tests/virstorageutildata/gluster-parse-basic-native.xml index fbde06f3b..895d0f3fd 100644 --- a/tests/virstorageutildata/gluster-parse-basic-native.xml +++ b/tests/virstorageutildata/gluster-parse-basic-native.xml @@ -1,6 +1,7 @@ <sources> <source> <host name='testhost'/> - <dir path='vol0'/> + <dir path='/'/> + <name>vol0</name> </source> </sources> diff --git a/tests/virstorageutildata/gluster-parse-multivol-native.xml b/tests/virstorageutildata/gluster-parse-multivol-native.xml index d2d8fefc6..c758ac5aa 100644 --- a/tests/virstorageutildata/gluster-parse-multivol-native.xml +++ b/tests/virstorageutildata/gluster-parse-multivol-native.xml @@ -1,14 +1,17 @@ <sources> <source> <host name='testhost'/> - <dir path='aaa'/> + <dir path='/'/> + <name>aaa</name> </source> <source> <host name='testhost'/> - <dir path='test'/> + <dir path='/'/> + <name>test</name> </source> <source> <host name='testhost'/> - <dir path='test1'/> + <dir path='/'/> + <name>test1</name> </source> </sources> -- 2.12.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list