
On 03/08/2018 07:20 AM, Marc Hartmayer wrote:
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(-)
So based on what I R-B'd - I can grab patches 1, 6 -> 12, and 14 -> 16 alter the couple of minor things noted, then push... FWIW: patch 13 depends on a couple of things changed in patch 5, so while it is fine, I'd rather not get too many merge conflicts. There is one minor one from I'll also keep defaultPrivconn and not change to defaultPrivateData as that just gets way too messy. I agree since we have privconn in general, it'll be fine for the global too... That should help reduce the v2 pile a bit! John