On Thu, Jan 25, 2018 at 09:38:13 +0000, Daniel Berrange wrote:
The QEMU driver loadable module needs to be able to resolve all ELF
symbols it references against libvirt.so. Some of its symbols can only
be resolved against the storage_driver.so loadable module which creates
a hard dependancy between them. By moving the storage file backend
framework into the util directory, this gets included directly in the
libvirt.so library. The actual backend implementations are still done as
loadable modules, so this doesn't re-add deps on gluster libraries.
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
po/POTFILES.in | 3 +-
src/Makefile.am | 3 +-
src/libvirt_private.syms | 19 +
src/qemu/qemu_domain.c | 1 -
src/qemu/qemu_driver.c | 1 -
src/security/virt-aa-helper.c | 2 -
src/storage/storage_backend_fs.c | 3 +-
src/storage/storage_backend_gluster.c | 3 +-
src/storage/storage_source.c | 645 ---------------------
src/storage/storage_source.h | 59 --
src/util/virstoragefile.c | 609 ++++++++++++++++++-
src/util/virstoragefile.h | 32 +
.../virstoragefilebackend.c} | 4 +-
.../virstoragefilebackend.h} | 8 +-
tests/virstoragetest.c | 1 -
15 files changed, 669 insertions(+), 724 deletions(-)
delete mode 100644 src/storage/storage_source.c
delete mode 100644 src/storage/storage_source.h
rename src/{storage/storage_source_backend.c => util/virstoragefilebackend.c} (96%)
rename src/{storage/storage_source_backend.h => util/virstoragefilebackend.h} (94%)
[...]
diff --git a/src/storage/storage_source_backend.h
b/src/util/virstoragefilebackend.h
similarity index 94%
rename from src/storage/storage_source_backend.h
rename to src/util/virstoragefilebackend.h
index 8288bebb1f..6cd51750ee 100644
--- a/src/storage/storage_source_backend.h
+++ b/src/util/virstoragefilebackend.h
@@ -1,5 +1,5 @@
/*
- * storage_source_backend.h: internal storage source backend contract
+ * virstoragefilebackend.h: internal storage source backend contract
*
* Copyright (C) 2007-2018 Red Hat, Inc.
*
@@ -18,8 +18,8 @@
* <
http://www.gnu.org/licenses/>.
*/
-#ifndef __VIR_STORAGE_SOURCE_BACKEND_H__
-# define __VIR_STORAGE_SOURCE_BACKEND_H__
+#ifndef __VIR_STORAGE_FILE_BACKEND_H__
+# define __VIR_STORAGE_FILE_BACKEND_H__
# include <sys/stat.h>
@@ -101,4 +101,4 @@ struct _virStorageFileBackend {
int virStorageFileBackendRegister(virStorageFileBackendPtr backend);
-#endif /* __VIR_STORAGE_BACKEND_H__ */
+#endif /* __VIR_STORAGE_FILE_BACKEND_H__ */
You've fixed it here, so you can disregard my previous comment.
ACK