[libvirt] [PATCH 2/2] util: storage: Properly parse URIs with missing trailing slash

Eric Blake eblake at redhat.com
Fri Oct 12 18:04:00 UTC 2018


On 10/11/18 6:01 AM, Peter Krempa wrote:
> The URI parser used by libvirt does not populate uri->path if the
> trailing slash is missing. The code virStorageSourceParseBackingURI
> would then not populate src->path.
> 
> As only NBD network disks are allowed to have the 'name' field in the
> XML defining the disk source omitted we'd generate an invalid XML which
> we'd not parse again.
> 
> Fix it by populating src->path with an empty string if the uri is
> lacking slash.
> 
> As pointed out above NBD is special in this case since we actually allow
> it being NULL. The URI path is used as export name. Since an empty
> export does not make sense the new approach clears the src->path if the
> trailing slash is present but nothing else.
> 
> Add test cases now to cover all the various cases for NBD and non-NBD
> uris as there was to time only 1 test abusing the quirk witout slash for

s/witout/without/

> NBD and all other URIs contained the slash or in case of NBD also the
> export name.
> 
> Signed-off-by: Peter Krempa <pkrempa at redhat.com>
> ---
>   src/util/virstoragefile.c | 22 ++++++++++++++++++----
>   tests/qemublocktest.c     |  3 +++
>   tests/virstoragetest.c    | 20 ++++++++++++++++++++
>   3 files changed, 41 insertions(+), 4 deletions(-)
> 
-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org




More information about the libvir-list mailing list