[libvirt] [PATCH v2 00/11] Add admin protocol support for virtlogd/virtlockd

Daniel P. Berrange berrange at redhat.com
Tue Jan 23 13:23:36 UTC 2018


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




More information about the libvir-list mailing list