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

Daniel P. Berrangé posted 15 patches 6 years, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20180205152829.12577-1-berrange@redhat.com
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
[libvirt] [PATCH v3 00/15] Misc build refactoring / isolation work
Posted by Daniel P. Berrangé 6 years, 2 months ago
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

-- 
2.14.3

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v3 00/15] Misc build refactoring / isolation work
Posted by Michal Privoznik 6 years, 2 months ago
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