storage: Prior to creating a volume, refresh the pool
storage: Prior to creating a volume, refresh the pool

https://bugzilla.redhat.com/show_bug.cgi?id=1233003

Although perhaps bordering on a don't do that type scenario, if
someone creates a volume in a pool outside of libvirt, then uses that
same name to create a volume in the pool via libvirt, then the creation
will fail and in some cases cause the same name volume to be deleted.

This patch will refresh the pool just prior to checking whether the
named volume exists prior to creating the volume in the pool. While
it's still possible to have a timing window to create a file after the
check - at least we tried.  At that point, someone is being malicious.

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