[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 |