The storage driver backends currently register storage file backends as
a side effect of initialization. This is fine right now while both run
in the same libvirtd process, but in future the storage file backends
will need to run in the hypervisor daemon which will be separate from
the storage daemon. This small series splits them, makin the storage
file backends be registered "on demand"
Daniel P. Berrangé (6):
util: create new virmodule.{c,h} files for dlopen support code
storage: split gluster storage file code from storage driver backend
storage: split fs storage file code from storage driver backend
storage: fix virStorageFileGetBackingStoreStr error handling
util: refactor storage file checks to allow error reporting
storage: create separate loadable modules for storage file drivers
libvirt.spec.in | 4 +
src/driver.c | 133 +-----------
src/driver.h | 3 -
src/libvirt_driver_modules.syms | 1 -
src/libvirt_private.syms | 3 +
src/qemu/qemu_domain.c | 21 +-
src/qemu/qemu_driver.c | 21 +-
src/storage/Makefile.inc.am | 44 ++++
src/storage/storage_backend.c | 3 +-
src/storage/storage_backend_fs.c | 210 +------------------
src/storage/storage_backend_gluster.c | 305 +---------------------------
src/storage/storage_backend_gluster.h | 2 +-
src/storage/storage_file_fs.c | 251 +++++++++++++++++++++++
src/storage/storage_file_fs.h | 29 +++
src/storage/storage_file_gluster.c | 366 ++++++++++++++++++++++++++++++++++
src/storage/storage_file_gluster.h | 27 +++
src/util/Makefile.inc.am | 2 +
src/util/virmodule.c | 163 +++++++++++++++
src/util/virmodule.h | 29 +++
src/util/virstoragefile.c | 123 ++++++++----
src/util/virstoragefile.h | 9 +-
src/util/virstoragefilebackend.c | 72 +++++--
src/util/virstoragefilebackend.h | 9 +-
23 files changed, 1098 insertions(+), 732 deletions(-)
create mode 100644 src/storage/storage_file_fs.c
create mode 100644 src/storage/storage_file_fs.h
create mode 100644 src/storage/storage_file_gluster.c
create mode 100644 src/storage/storage_file_gluster.h
create mode 100644 src/util/virmodule.c
create mode 100644 src/util/virmodule.h
--
2.14.3