On 02/05/2018 04:28 PM, Daniel P. Berrangé wrote:
> This was triggered by the recent Fedora change to add '-z defs' to RPM
> builds by default which breaks libvirt. Various make rule changes can
> fix much of the problem, but it also requires source refactoring to get
> rid of places where virt drivers directly call into the storage/network
> drivers. Co-incidentally this work will also be useful in allowing us to
> separate out drivers to distinct daemons.
>
> In v3:
>
> - Fixed a few build problems identified by travis
>
> In v2:
>
> - Fixed header file name comment
> - Resolve conflicts
> - Fix unit tests
> - Fix bisectable build by moving libvirt_lxc build patch earlier
> - Update syntax check header include rule
>
> Daniel P. Berrangé (15):
> storage: extract storage file backend from main storage driver backend
> storage: move storage file backend framework into util directory
> rpc: don't link in second copy of RPC code to libvirtd & lockd plugin
> build: link libvirt_lxc against libvirt.so
> conf: introduce callback registration for domain net device allocation
> conf: expand network device callbacks to cover bandwidth updates
> qemu: replace networkGetNetworkAddress with public API calls
> conf: expand network device callbacks to cover resolving NIC type
> network: remove conditional declarations
> conf: move virStorageTranslateDiskSourcePool into domain conf
> storage: export virStoragePoolLookupByTargetPath as a public API
> build: explicitly link all modules with libvirt.so
> build: provide a AM_FLAGS_MOD for loadable modules
> build: passing the "-z defs" linker flag to prevent undefined symbols
> cfg: forbid includes of headers in network and storage drivers again
>
> cfg.mk | 2 +-
> configure.ac | 1 +
> daemon/Makefile.am | 3 +-
> include/libvirt/libvirt-storage.h | 2 +
> m4/virt-linker-no-undefined.m4 | 32 ++
> po/POTFILES.in | 2 +-
> src/Makefile.am | 150 ++++----
> src/bhyve/bhyve_command.c | 7 +-
> src/conf/domain_conf.c | 355 +++++++++++++++++++
> src/conf/domain_conf.h | 71 ++++
> src/driver-storage.h | 5 +
> src/libvirt-storage.c | 40 +++
> src/libvirt_private.syms | 29 ++
> src/libvirt_public.syms | 6 +
> src/libvirt_remote.syms | 11 +-
> src/libxl/libxl_domain.c | 5 +-
> src/libxl/libxl_driver.c | 7 +-
> src/lxc/lxc_driver.c | 5 +-
> src/lxc/lxc_process.c | 7 +-
> src/network/bridge_driver.c | 124 +------
> src/network/bridge_driver.h | 72 ----
> src/qemu/qemu_alias.c | 3 +-
> src/qemu/qemu_command.c | 1 -
> src/qemu/qemu_domain.c | 3 -
> src/qemu/qemu_domain_address.c | 3 +-
> src/qemu/qemu_driver.c | 15 +-
> src/qemu/qemu_hotplug.c | 18 +-
> src/qemu/qemu_migration.c | 3 +-
> src/qemu/qemu_process.c | 115 +++++-
> src/remote/remote_driver.c | 1 +
> src/remote/remote_protocol.x | 17 +-
> src/remote_protocol-structs | 7 +
> src/security/virt-aa-helper.c | 2 -
> src/storage/storage_backend.c | 66 ----
> src/storage/storage_backend.h | 75 ----
> src/storage/storage_backend_fs.c | 8 +-
> src/storage/storage_backend_gluster.c | 4 +-
> src/storage/storage_driver.c | 256 +-------------
> src/storage/storage_driver.h | 3 -
> src/storage/storage_source.c | 645 ----------------------------------
> src/storage/storage_source.h | 59 ----
> src/util/virstoragefile.c | 609 +++++++++++++++++++++++++++++++-
> src/util/virstoragefile.h | 32 ++
> src/util/virstoragefilebackend.c | 108 ++++++
> src/util/virstoragefilebackend.h | 104 ++++++
> src/vz/vz_sdk.c | 1 -
> tests/Makefile.am | 11 +-
> tests/qemuxml2argvtest.c | 4 +
> tests/virstoragetest.c | 1 -
> tools/Makefile.am | 1 +
> 50 files changed, 1679 insertions(+), 1432 deletions(-)
> create mode 100644 m4/virt-linker-no-undefined.m4
> delete mode 100644 src/storage/storage_source.c
> delete mode 100644 src/storage/storage_source.h
> create mode 100644 src/util/virstoragefilebackend.c
> create mode 100644 src/util/virstoragefilebackend.h
>
ACK series.
Michal
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list