[libvirt] [PATCH] storage: fix omitted slash in gluster volume URI

Laine Stump laine at laine.org
Tue Dec 10 14:34:15 UTC 2013


On 12/10/2013 02:50 PM, Eric Blake wrote:
> 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,
> 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 at redhat.com>
> ---
>
> Once approved, I'm also pushing to v1.2.0-maint


ACK. This fixes the problem.


>
>  src/storage/storage_backend_gluster.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/src/storage/storage_backend_gluster.c b/src/storage/storage_backend_gluster.c
> index 1be9034..622526b 100644
> --- a/src/storage/storage_backend_gluster.c
> +++ b/src/storage/storage_backend_gluster.c
> @@ -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;




More information about the libvir-list mailing list