[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