[libvirt] [PATCH v3 0/9] Series on passing FDs to daemon

Martin Kletzander mkletzan at redhat.com
Wed Jul 23 14:27:04 UTC 2014


This started as a fix for virsh 20s timeout of waiting for session
daemon that failed to start:

http://www.redhat.com/archives/libvir-list/2013-April/msg01351.html

Then there was a idea that we can pass some FDs around:

http://www.redhat.com/archives/libvir-list/2013-April/msg01356.html

So we did:

https://www.redhat.com/archives/libvir-list/2014-July/msg00841.html

And now we are even able to start with socket-activation with systemd;
see patch 9/9.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=927369


Martin Kletzander (9):
  util: abstract parsing of passed FDs into virGetListenFDs()
  remote: create virNetServerServiceNewFDOrUNIX() wrapper
  rpc: set listen backlog on FDs as well as on other sockets
  daemon: support passing FDs from the calling process
  cfg.mk: allow integers to be assigned a value computed with i|j|k
  tests: support dynamic prefixes in commandtest
  util: add virCommandPassListenFDs() function
  rpc: pass listen FD to the daemon being started
  daemon: use socket activation with systemd

 .gitignore                    |   1 +
 cfg.mk                        |   2 +-
 daemon/Makefile.am            |  14 +++++-
 daemon/libvirtd.c             |  45 ++++++++++--------
 daemon/libvirtd.conf          |   5 ++
 daemon/libvirtd.service.in    |   5 --
 daemon/libvirtd.socket.in     |   6 +++
 libvirt.spec.in               |  26 +++++++++--
 src/libvirt_private.syms      |   2 +
 src/libvirt_remote.syms       |   1 +
 src/locking/lock_daemon.c     |  47 ++-----------------
 src/rpc/virnetserverservice.c |  55 +++++++++++++++++++++-
 src/rpc/virnetserverservice.h |  15 +++++-
 src/rpc/virnetsocket.c        | 102 ++++++++++++++++++++++++++++++++--------
 src/util/vircommand.c         |  99 +++++++++++++++++++++++++++++++++++++++
 src/util/vircommand.h         |   4 +-
 src/util/virutil.c            |  62 +++++++++++++++++++++++++
 src/util/virutil.h            |   2 +
 tests/commanddata/test24.log  |   7 +++
 tests/commandtest.c           | 105 ++++++++++++++++++++++++++++++++++--------
 20 files changed, 491 insertions(+), 114 deletions(-)
 create mode 100644 daemon/libvirtd.socket.in
 create mode 100644 tests/commanddata/test24.log

--
2.0.2




More information about the libvir-list mailing list