conf: earlier allocation during backing chain crawl
conf: earlier allocation during backing chain crawl

Right now, we are allocating virStorageFileMetadata near the bottom
of the callchain, only after we have identified that we are visiting
a file (and not a network resource).  I'm hoping to eventually
support parsing the backing chain from XML, where the backing chain
crawl then validates what was parsed rather than allocating a fresh
structure.  Likewise, I'm working towards a setup where we have a
backing element even for networks.  Both of these use cases are
easier to code if the allocation is hoisted earlier.

* src/util/virstoragefile.c (virStorageFileGetMetadataInternal)
(virStorageFileGetMetadataFromFDInternal): Change signature.
(virStorageFileGetMetadataFromBuf)
(virStorageFileGetMetadataRecurse, virStorageFileGetMetadata):
Update callers.

Signed-off-by: Eric Blake <a9da18479c871fe903d9590822cfe2629c6a4d11@redhat.com>

datto/libvirt,jardasgit/libvirt,fabianfreyer/libvirt,datto/libvirt,andreabolognani/libvirt,shugaoye/libvirt,agx/libvirt,eskultety/libvirt,shugaoye/libvirt,eskultety/libvirt,rlaager/libvirt,shugaoye/libvirt,fabianfreyer/libvirt,datto/libvirt,jfehlig/libvirt,zippy2/libvirt,taget/libvirt,shugaoye/libvirt,crobinso/libvirt,eskultety/libvirt,VenkatDatta/libvirt,taget/libvirt,jardasgit/libvirt,libvirt/libvirt,andreabolognani/libvirt,andreabolognani/libvirt,elmarco/libvirt,VenkatDatta/libvirt,nertpinx/libvirt,rlaager/libvirt,jfehlig/libvirt,nertpinx/libvirt,fabianfreyer/libvirt,agx/libvirt,andreabolognani/libvirt,VenkatDatta/libvirt,datto/libvirt,datto/libvirt,eskultety/libvirt,VenkatDatta/libvirt,nertpinx/libvirt,zippy2/libvirt,libvirt/libvirt,fabianfreyer/libvirt,olafhering/libvirt,rlaager/libvirt,olafhering/libvirt,crobinso/libvirt,taget/libvirt,andreabolognani/libvirt,agx/libvirt,taget/libvirt,rlaager/libvirt,jardasgit/libvirt,jardasgit/libvirt,elmarco/libvirt,elmarco/libvirt,libvirt/libvirt,olafhering/libvirt,elmarco/libvirt,nertpinx/libvirt,jardasgit/libvirt,rlaager/libvirt,jfehlig/libvirt,taget/libvirt,elmarco/libvirt,eskultety/libvirt,zippy2/libvirt,crobinso/libvirt,fabianfreyer/libvirt,nertpinx/libvirt,jfehlig/libvirt,zippy2/libvirt,shugaoye/libvirt,VenkatDatta/libvirt,libvirt/libvirt,agx/libvirt,crobinso/libvirt,olafhering/libvirt,agx/libvirt