[libvirt] [PATCH 00/10] Enable direct use of secondary drivers

Daniel P. Berrangé berrange at redhat.com
Fri Jan 26 13:35:27 UTC 2018


Currently the secondary drivers can only be used if you have a
connection to a primary hypervisor driver. This series introduces
explicit URIs that allow opening a connection that only talks to a
specific secondary driver. In the future these URIs will resolve to
individual daemons containing those drivers.

This also allows us to fix long standing problems with most code that
uses secrets internally. We need to pass a virConnectPtr into such code
but some call stacks don't have a connection available. In some cases we
open a temporary connection to the QEMU driver, but this is suboptimal
for deployments without the QEMU driver present.

Daniel P. Berrangé (10):
  storage: move driver registration back to end of the file
  storage: allow opening with storage:///system and storage:///session
    URIs
  network: move driver registration back to end of the file
  network: allow opening with network:///system and network:///session
    URIs
  nwfilter: allow opening with nwfilter:///system URI
  interface: allow opening with interface:///system and
    interface:///session URIs
  nodedev: allow opening with nodedev:///system and nodedev:///session
    URIs
  secret: allow opening with secret:///system and secret:///session URIs
  storage: open secret driver connection at time of use
  storage: remove virConnectPtr from all backend functions

 src/interface/interface_backend_netcf.c |  98 ++++++++-
 src/interface/interface_backend_udev.c  |  97 ++++++++-
 src/network/bridge_driver.c             | 185 +++++++++++++----
 src/network/bridge_driver_platform.h    |   3 +
 src/node_device/node_device_driver.c    |  73 ++++++-
 src/node_device/node_device_driver.h    |   9 +
 src/node_device/node_device_hal.c       |  18 ++
 src/node_device/node_device_udev.c      |  19 ++
 src/nwfilter/nwfilter_driver.c          |  83 ++++++++
 src/secret/secret_driver.c              |  95 +++++++++
 src/storage/storage_backend.h           |  45 ++--
 src/storage/storage_backend_disk.c      |  30 +--
 src/storage/storage_backend_fs.c        |  15 +-
 src/storage/storage_backend_gluster.c   |   9 +-
 src/storage/storage_backend_iscsi.c     |  24 +--
 src/storage/storage_backend_logical.c   |  38 ++--
 src/storage/storage_backend_mpath.c     |   5 +-
 src/storage/storage_backend_rbd.c       |  53 ++---
 src/storage/storage_backend_scsi.c      |  46 +++--
 src/storage/storage_backend_sheepdog.c  |  33 ++-
 src/storage/storage_backend_vstorage.c  |  10 +-
 src/storage/storage_backend_zfs.c       |  15 +-
 src/storage/storage_driver.c            | 351 ++++++++++++++++++++------------
 src/storage/storage_util.c              | 146 ++++++-------
 src/storage/storage_util.h              |  39 ++--
 tests/storagevolxml2argvtest.c          |   7 +-
 26 files changed, 1047 insertions(+), 499 deletions(-)

-- 
2.14.3




More information about the libvir-list mailing list