util: storagefile: Add handling of unusable storage sources
util: storagefile: Add handling of unusable storage sources

Introduce new semantics to virStorageSourceNewFromBacking and some
of the helpers used by it which propagate the return value from the
callers.

The new return value introduced by this patch allows to notify the
calller that the parsed virStorageSource correctly describes the source
but contains data such as inline authentication which libvirt does not
want to support directly. This means that such file would e.g. unusable
as a storage source (e.g. when actively commiting the overlay to it) or
would not work with blockdev.

The caller will then be able to decide whether to consider this backing
file as viable or just fall back to qemu dealing with it.

Signed-off-by: Peter Krempa <2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com>
Reviewed-by: Ján Tomko <4cab11cfb98d3c937327354a78eb07dbb6ee2bc6@redhat.com>

fabianfreyer/libvirt,libvirt/libvirt,fabianfreyer/libvirt,crobinso/libvirt,libvirt/libvirt,jfehlig/libvirt,olafhering/libvirt,jardasgit/libvirt,jfehlig/libvirt,libvirt/libvirt,zippy2/libvirt,andreabolognani/libvirt,nertpinx/libvirt,nertpinx/libvirt,andreabolognani/libvirt,jardasgit/libvirt,andreabolognani/libvirt,olafhering/libvirt,jardasgit/libvirt,jfehlig/libvirt,jardasgit/libvirt,crobinso/libvirt,fabianfreyer/libvirt,jardasgit/libvirt,libvirt/libvirt,zippy2/libvirt,andreabolognani/libvirt,olafhering/libvirt,crobinso/libvirt,zippy2/libvirt,zippy2/libvirt,nertpinx/libvirt,crobinso/libvirt,nertpinx/libvirt,andreabolognani/libvirt,fabianfreyer/libvirt,olafhering/libvirt,jfehlig/libvirt,nertpinx/libvirt,fabianfreyer/libvirt