[libvirt] [PATCH v3 00/15] Misc build refactoring / isolation work

Michal Privoznik mprivozn at redhat.com
Thu Feb 8 10:46:40 UTC 2018


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




More information about the libvir-list mailing list