From 24454c884a5fa0fa268dce74ae0bcabd71185da4 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Mon, 7 Jun 2010 17:14:37 +0100 Subject: [PATCH] tools: Add missing files under tools/hotplug/Linux/init.d Signed-off-by: Keir Fraser --- .../hotplug/Linux/init.d/sysconfig.xencommons | 11 +++ tools/hotplug/Linux/init.d/xencommons | 87 +++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 tools/hotplug/Linux/init.d/sysconfig.xencommons create mode 100644 tools/hotplug/Linux/init.d/xencommons diff --git a/tools/hotplug/Linux/init.d/sysconfig.xencommons b/tools/hotplug/Linux/init.d/sysconfig.xencommons new file mode 100644 index 0000000000..d20c85d5cc --- /dev/null +++ b/tools/hotplug/Linux/init.d/sysconfig.xencommons @@ -0,0 +1,11 @@ +# Log xenconsoled messages (cf xl dmesg) +#XENCONSOLED_TRACE=[none|guest|hv|all] + +# Log xenstored messages +#XENSTORED_TRACE=[yes|on|1] + +# Running xenstored on XENSTORED_ROOTDIR +#XENSTORED_ROOTDIR=/var/lib/xenstored + +# Running xenbackendd in debug mode +#XENBACKENDD_DEBUG=[yes|on|1] diff --git a/tools/hotplug/Linux/init.d/xencommons b/tools/hotplug/Linux/init.d/xencommons new file mode 100644 index 0000000000..d8680fba02 --- /dev/null +++ b/tools/hotplug/Linux/init.d/xencommons @@ -0,0 +1,87 @@ +#!/bin/bash +# +# xencommons Script to start and stop xenstored and xenconsoled +# +# Author: Ian Jackson +# +# chkconfig: 2345 +# description: Starts and stops xenstored and xenconsoled +### BEGIN INIT INFO +# Provides: xenstored xenconsoled +# Required-Start: $syslog $remote_fs +# Should-Start: +# Required-Stop: $syslog $remote_fs +# Should-Stop: +# Default-Start: 3 4 5 +# Default-Stop: 1 +# Default-Enabled: yes +# Short-Description: Start/stop xenstored and xenconsoled +# Description: Starts and stops the daemons neeeded for xl/xend +### END INIT INFO + +test -f /etc/sysconfig/xencommons && . /etc/sysconfig/xencommons + +XENCONSOLED_PIDFILE=/var/run/xenconsoled.pid +shopt -s extglob + +if test "x$1" = xstart && \ + test -d /proc/xen && \ + ! test -d /proc/xen/capabilities && \ + grep ' xenfs$' /proc/filesystems >/dev/null && \ + ! grep '^xenfs ' /proc/mounts >/dev/null; +then + mount -t xenfs xenfs /proc/xen +fi + +if ! grep -q "control_d" /proc/xen/capabilities ; then + exit 0 +fi + +do_start () { + if ! `xenstore-read -s / >/dev/null 2>&1` + then + test -z "$XENSTORED_ROOTDIR" || XENSTORED_ROOTDIR="/var/lib/xenstored" + rm -f "$XENSTORED_ROOTDIR"/tdb* &>/dev/null + test -z "$XENSTORED_TRACE" || XENSTORED_ARGS=" -T /var/log/xen/xenstored-trace.log" + xenstored --pid-file=/var/run/xenstore.pid $XENSTORED_ARGS + xenstore-write "/local/domain/0/name" "Domain-0" + fi + + test -z "$XENCONSOLED_TRACE" || XENCONSOLED_ARGS=" -T /var/log/xen/xenstored-trace.log" + xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS + test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d" + test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS +} +do_stop () { + if read 2>/dev/null <$XENCONSOLED_PIDFILE pid; then + kill $pid + while kill -9 $pid >/dev/null 2>&1; do sleep 0.1; done + rm -f $XENCONSOLED_PIDFILE + fi +} + +case "$1" in + start) + do_start + ;; + status) + xenstore-read -s / + ;; + stop) + do_stop + ;; + reload) + echo >&2 'Reload not available; use force-reload'; exit 1 + ;; + force-reload|restart) + do_stop + do_start + ;; + *) + # do not advertise unreasonable commands that there is no reason + # to use with this device + echo $"Usage: $0 {start|stop|status|restart|force-reload}" + exit 1 +esac + +exit $? -- 2.39.5