The initial admin protocol support was only integrated into libvirtd. This series extracts that code so that it is reusable with all the daemons we have (and more than we'll get). In v2: - Fixed completely broken post-exec restart support for admin servers - Misc fixes from v1 review Daniel P. Berrange (11): admin: move admins server impl/dispatch into src/admin directory libvirtd: rename virNetServerClient callback impls to match type names admin: add support for post-exec restart callbacks util: add virGetUNIXSocketPath helper rpc: clarify "void *" values passed to client callbacks rpc: pass virNetServer to post-exec restart callback in typesafe manner rpc: annotate various parameters as being required to be non-NULL rpc: add method for checking if a named server exists rpc: refactor virNetServer setup for post-exec restarts logd: add support for admin protocol in virtlogd lockd: add support for admin protocol in virtlockd .gitignore | 1 + cfg.mk | 10 +- daemon/Makefile.am | 33 +--- daemon/libvirtd.c | 10 +- daemon/libvirtd.h | 10 -- daemon/remote.c | 6 +- daemon/remote.h | 6 +- po/POTFILES.in | 6 +- src/Makefile.am | 33 +++- {daemon => src/admin}/admin_server.c | 4 +- {daemon => src/admin}/admin_server.h | 6 +- .../admin.c => src/admin/admin_server_dispatch.c | 48 ++++-- .../admin.h => src/admin/admin_server_dispatch.h | 18 +- src/libvirt-admin.c | 23 ++- src/libvirt_private.syms | 1 + src/libvirt_remote.syms | 2 +- src/locking/lock_daemon.c | 186 +++++++++++++++----- src/locking/lock_daemon_config.c | 3 + src/locking/lock_daemon_config.h | 1 + src/locking/test_virtlockd.aug.in | 4 + src/locking/virtlockd-admin.socket.in | 10 ++ src/locking/virtlockd.aug | 1 + src/locking/virtlockd.conf | 6 + src/locking/virtlockd.service.in | 1 + src/logging/log_daemon.c | 188 ++++++++++++++++----- src/logging/log_daemon_config.c | 3 + src/logging/log_daemon_config.h | 1 + src/logging/test_virtlogd.aug.in | 4 + src/logging/virtlogd-admin.socket.in | 10 ++ src/logging/virtlogd.aug | 1 + src/logging/virtlogd.service.in | 1 + src/rpc/virnetdaemon.c | 164 ++++++++++-------- src/rpc/virnetdaemon.h | 20 ++- src/rpc/virnetserver.c | 6 +- src/rpc/virnetserver.h | 7 +- src/rpc/virnetserverclient.c | 14 +- src/rpc/virnetserverclient.h | 23 ++- src/rpc/virnetserverprogram.h | 3 - src/util/virutil.c | 45 +++++ src/util/virutil.h | 1 + tests/virnetdaemontest.c | 37 +++- 41 files changed, 670 insertions(+), 287 deletions(-) rename {daemon => src/admin}/admin_server.c (99%) rename {daemon => src/admin}/admin_server.h (96%) rename daemon/admin.c => src/admin/admin_server_dispatch.c (92%) rename daemon/admin.h => src/admin/admin_server_dispatch.h (59%) create mode 100644 src/locking/virtlockd-admin.socket.in create mode 100644 src/logging/virtlogd-admin.socket.in -- 2.14.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list