• P
    util: storage: Properly parse URIs with missing trailing slash · 6e7e965d
    Peter Krempa 提交于
    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
    NBD and all other URIs contained the slash or in case of NBD also the
    export name.
    Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
    6e7e965d
virstoragetest.c 61.9 KB