|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v5 00/14] xen: add systemd support
From: "Luis R. Rodriguez" <mcgrof@xxxxxxxx>
This is v5 on the xen systemd integration series. It addresses all
concerns raised. I've also taken the time to run time test this
with systems without systemd, and also built binaries with systemd
enabled and tested these on non systemd systemd even with and
without systemd libraries present. The trick was to use the dynamic
link loader. Since the dynamic link loader is used, since ocaml
lacks systemd support, and since it makes sense to share as much
code as possible I've piggy backed systemd support into libxenstore.so
and made oxenstored link to that. This series enables systemd on build time
if you have what it takes to build systemd support, after all binaries with
the dynamic link loader support won't require folks on systems to actually
have systemd libraries present unless they actually *booted with systemd*
as their init. Folks that don't like that approach can toy around and
replace usage of AX_AVAILABLE_SYSTEMD() with AX_ALLOW_SYSTEMD() or
AX_ENABLE_SYSTEMD() and enabling the CFLAG and LDFLAG as I had done
in previous patches, the current approach however is the most flexible,
and less intrusive.
This series also goes with sd_notify() support, thereby
simplfying the systemd init even further. I generated this series
using the latest unstable version of git to ensure we get proper
review through simple renames with git format-patch -M --B.
I've dropped the retries stuff, I actually have a fix for that but
I don't have the time to test, if some folks might be interested
I can provide RFTs but I really want to get this out of the way
first.
Luis R. Rodriguez (14):
xenstored: enable usage of config.h on both xenstored and oxenstored
libxenstore.so: add support for systemd
cxenstored: add support for systemd active sockets
oxenstored: add support for systemd active sockets
oxenstored: force FD_CLOEXEC with Unix.set_close_on_exec on LSB init
tools/xendomains: make xl the default
tools/xendomains: do space cleanups
tools/xendomains: move to libexec and use a smaller init helper
autoconf: xen: force a refresh with autoconf
autoconf: update m4/pkg.m4
autoconf: xen: move standard variables to a generic place
autoconf: xen: enable explicit preference option for xenstored
preference
xencommons: move module list into a generic place
systemd: add xen systemd service and module files
.gitignore | 7 +
Config.mk | 13 -
Makefile | 6 +-
README | 96 ++++
autogen.sh | 8 +-
config/StdGNU.mk | 28 +-
config/Tools.mk.in | 6 +
config/Toplevel.mk.in | 27 +
config/defaults.mk | 21 +
config/modules | 16 +
config/xen-environment-header.in | 16 +
config/xen-environment-scripts.in | 18 +
configure.ac | 10 +-
m4/README.source | 35 ++
m4/expand_config.m4 | 122 ++++
m4/pkg.m4 | 88 ++-
m4/systemd.m4 | 120 ++++
stubdom/Makefile | 17 +-
stubdom/configure.ac | 4 +
tools/configure.ac | 17 +-
tools/hotplug/Linux/Makefile | 45 +-
.../Linux/init.d/{xencommons => xencommons.in} | 22 +-
tools/hotplug/Linux/init.d/xendomains | 635 ++-------------------
tools/hotplug/Linux/systemd/Makefile | 70 +++
tools/hotplug/Linux/systemd/proc-xen.mount.in | 9 +
.../Linux/systemd/var-lib-xenstored.mount.in | 13 +
.../systemd/xen-qemu-dom0-disk-backend.service.in | 22 +
.../hotplug/Linux/systemd/xen-watchdog.service.in | 13 +
tools/hotplug/Linux/systemd/xenconsoled.service.in | 20 +
tools/hotplug/Linux/systemd/xendomains.service.in | 16 +
tools/hotplug/Linux/systemd/xenstored.service.in | 27 +
tools/hotplug/Linux/systemd/xenstored.socket.in | 11 +
tools/hotplug/Linux/{init.d => }/xendomains | 70 +--
tools/hotplug/common/Makefile | 6 +-
tools/libxl/Makefile | 11 +-
tools/ocaml/xenstored/Makefile | 13 +-
tools/ocaml/xenstored/systemd.ml | 17 +
tools/ocaml/xenstored/systemd.mli | 24 +
tools/ocaml/xenstored/systemd_stubs.c | 132 +++++
tools/ocaml/xenstored/utils.ml | 21 +-
tools/ocaml/xenstored/xenstored.ml | 2 +
tools/python/Makefile | 6 +-
tools/xenstore/Makefile | 8 +-
tools/xenstore/xenstore.h | 11 +
tools/xenstore/xenstored_core.c | 49 +-
tools/xenstore/xs_systemd.c | 321 +++++++++++
46 files changed, 1549 insertions(+), 720 deletions(-)
create mode 100644 config/defaults.mk
create mode 100644 config/modules
create mode 100644 config/xen-environment-header.in
create mode 100644 config/xen-environment-scripts.in
create mode 100644 m4/README.source
create mode 100644 m4/expand_config.m4
create mode 100644 m4/systemd.m4
rename tools/hotplug/Linux/init.d/{xencommons => xencommons.in} (82%)
rewrite tools/hotplug/Linux/init.d/xendomains (95%)
create mode 100644 tools/hotplug/Linux/systemd/Makefile
create mode 100644 tools/hotplug/Linux/systemd/proc-xen.mount.in
create mode 100644 tools/hotplug/Linux/systemd/var-lib-xenstored.mount.in
create mode 100644
tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in
create mode 100644 tools/hotplug/Linux/systemd/xen-watchdog.service.in
create mode 100644 tools/hotplug/Linux/systemd/xenconsoled.service.in
create mode 100644 tools/hotplug/Linux/systemd/xendomains.service.in
create mode 100644 tools/hotplug/Linux/systemd/xenstored.service.in
create mode 100644 tools/hotplug/Linux/systemd/xenstored.socket.in
rename tools/hotplug/Linux/{init.d => }/xendomains (94%)
create mode 100644 tools/ocaml/xenstored/systemd.ml
create mode 100644 tools/ocaml/xenstored/systemd.mli
create mode 100644 tools/ocaml/xenstored/systemd_stubs.c
create mode 100644 tools/xenstore/xs_systemd.c
--
2.0.0.rc3.18.g00a5b79
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |