]> xenbits.xensource.com Git - libvirt.git/commitdiff
storage: fix omitted slash in gluster volume URI
authorEric Blake <eblake@redhat.com>
Tue, 10 Dec 2013 12:45:26 +0000 (05:45 -0700)
committerEric Blake <eblake@redhat.com>
Tue, 10 Dec 2013 16:40:41 +0000 (09:40 -0700)
When doing 'virsh vol-dumpxml' on a gluster pool's volume, the
resulting URI incorrectly omitted a slash between hostname and
path:  gluster://192.168.122.206rhsvol1/fedora-19.img

This is fallout from me rebasing earlier versions of my patch
that ended up as commit efee1af; I had originally played with
always requiring the gluster volume to have a leading slash,
but it was easier to use the gluster API if the gluster volume
name was guaranteed to have no slash.  While I got the URI of
the pool correct, I forgot to fix the URI of a libvirt volume.

* src/storage/storage_backend_gluster.c
(virStorageBackendGlusterRefreshVol): Use correct starting point
since uri construction requires leading slash.

Signed-off-by: Eric Blake <eblake@redhat.com>
src/storage/storage_backend_gluster.c

index 1be9034b22b611c03ee709290fd8207d03bed3ed..622526bb478ba3126cf610c1f98f555359351561 100644 (file)
@@ -227,7 +227,10 @@ virStorageBackendGlusterRefreshVol(virStorageBackendGlusterStatePtr state,
         goto cleanup;
 
     tmp = state->uri->path;
-    state->uri->path = vol->key;
+    if (virAsprintf(&vol->key, "%s%s", state->uri->path, name) < 0) {
+        state->uri->path = tmp;
+        goto cleanup;
+    }
     if (!(vol->target.path = virURIFormat(state->uri))) {
         state->uri->path = tmp;
         goto cleanup;