[libvirt] [PATCH 00/20] Fix virConnect(Un)RegisterCloseCallback and get rid of global variables

Marc Hartmayer mhartmay at linux.vnet.ibm.com
Thu Mar 8 12:20:23 UTC 2018


The first part of this patch series fixes the behavior of
virConnectSupportsFeatures, virConnect(Un)RegisterCloseCallback, and
implements these features in the test driver. This results in a better
code coverage of our test suite.

The subsequent patches remove the need to have the global variables
'qemuProgram', 'adminProgram', 'lxcProgram, and 'remoteProgram' in
remote_daemon.[ch]. They only work in combination with the fixed
behavior of virConnectSupportsFeatures and
virConnect(Un)RegisterCloseCallback.

Marc Hartmayer (20):
  driver: Add typedef for the anonymous enum used for driver features
  remote: Don't hard code the feature
    VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK as available
  virConnect(Un)RegisterCloseCallback: Throw an error in case the API is
    not supported
  test: Implement virConnectSupportsFeature
  test: Implement virConnect(Un)RegisterCloseCallback
  test: testOpenDefault: introduce cleanup path
  test: testOpenFromFile: return VIR_DRV_OPEN_SUCCESS in case of success
  test: testConnectAuthenticate: Take the lock when accessing mutable
    values
  test: testConnectClose: Set privateData to NULL in all cases
  test: rename defaultConn to defaultPrivconn
  test: introduce testDriverCloseInternal
  test: fix error path in testConnectOpen
  test: Convert testDriver to virObjectLockable
  remote: remove unneeded global variables
  stream: Access stream->prog instead of a hard-coded global variable
  remote: Set eventID explicitly to an invalid value
  remote: Add the information which program has to be used to
    daemonClientEventCallback
  remote: Use domainClientEventCallbacks for
    remoteReplayConnectionClosedEvent
  rpc: Introduce virNetServerGetProgramLocked helper function
  remote/rpc: Use virNetServerGetProgram() to determine the program

 src/esx/esx_driver.c                |  18 +-
 src/libvirt-host.c                  |  24 +--
 src/libvirt_internal.h              |   4 +-
 src/libvirt_remote.syms             |   1 +
 src/libxl/libxl_driver.c            |  13 +-
 src/lxc/lxc_driver.c                |  24 ++-
 src/openvz/openvz_driver.c          |  15 +-
 src/qemu/qemu_driver.c              |   8 +-
 src/remote/remote_daemon.c          |   8 +-
 src/remote/remote_daemon.h          |   3 -
 src/remote/remote_daemon_dispatch.c | 182 +++++++++++--------
 src/remote/remote_daemon_stream.c   |  14 +-
 src/rpc/gendispatch.pl              |   2 +
 src/rpc/virnetserver.c              |  54 +++++-
 src/rpc/virnetserver.h              |   2 +
 src/test/test_driver.c              | 339 ++++++++++++++++++++++--------------
 src/vz/vz_driver.c                  |  15 +-
 src/xen/xen_driver.c                |  15 +-
 tools/virsh.c                       |  11 +-
 19 files changed, 504 insertions(+), 248 deletions(-)

-- 
2.13.4




More information about the libvir-list mailing list