[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