Libvirt should support dlopen-able modules for the different storage backends, similar to what we do for the different hypervisor drivers. Right now the RPM libvirt-daemon-driver-storage will pull in heavy deps like ceph, gluster, etc which many end users don't want, for example see bug #1240965 FWIW qemu already supports this for things like gluster and ceph, though it enabled in the fedora packaging at the moment
This is in libvirt 3.1.0