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@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list