|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 5/5] init/NetBSD: move xenbackendd to xend init script
On 07/26/12 21:54, Roger Pau Monne wrote:
> xenbackendd is not needed by the xl toolstack, so move it's launch to
> the xend script.
>
> We have to iterate until we are sure there are no xend processes left,
> since doing a single pkill usually leaves xend processes running.
>
> Changes since v1:
>
> * Use pgrep and pkill instead of the convoluted shell expression.
>
> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> Cc: Christoph Egger <Christoph.Egger@xxxxxxx>
Acked-by: Christoph Egger <Christoph.Egger@xxxxxxx>
> Signed-off-by: Roger Pau Monne <roger.pau@xxxxxxxxxx>
> ---
> tools/hotplug/NetBSD/rc.d/xencommons | 29 ++---------------
> tools/hotplug/NetBSD/rc.d/xend | 55 +++++++++++++++++++++++++++++++--
> 2 files changed, 55 insertions(+), 29 deletions(-)
>
> diff --git a/tools/hotplug/NetBSD/rc.d/xencommons
> b/tools/hotplug/NetBSD/rc.d/xencommons
> index c0d87bf..fe4c9ac 100644
> --- a/tools/hotplug/NetBSD/rc.d/xencommons
> +++ b/tools/hotplug/NetBSD/rc.d/xencommons
> @@ -29,8 +29,6 @@ XENBACKENDD_PIDFILE="/var/run/xenbackendd.pid"
>
> xen_precmd()
> {
> - mkdir -p /var/run/xend || exit 1
> - mkdir -p /var/run/xend/boot || exit 1
> mkdir -p /var/run/xenstored || exit 1
> }
>
> @@ -46,7 +44,7 @@ xen_startcmd()
> XENSTORED_ROOTDIR="/var/lib/xenstored"
> fi
> rm -f ${XENSTORED_ROOTDIR}/tdb* >/dev/null 2>&1
> - printf "Starting xenservices: xenstored, xenconsoled,
> xenbackendd."
> + printf "Starting xenservices: xenstored, xenconsoled."
> XENSTORED_ARGS=" --pid-file ${XENSTORED_PIDFILE}"
> if [ -n "${XENSTORED_TRACE}" ]; then
> XENSTORED_ARGS="${XENSTORED_ARGS} -T
> /var/log/xen/xenstored-trace.log"
> @@ -58,7 +56,7 @@ xen_startcmd()
> sleep 1
> done
> else
> - printf "Starting xenservices: xenconsoled, xenbackendd."
> + printf "Starting xenservices: xenconsoled."
> fi
>
> XENCONSOLED_ARGS=""
> @@ -68,13 +66,6 @@ xen_startcmd()
>
> ${SBINDIR}/xenconsoled ${XENCONSOLED_ARGS}
>
> - XENBACKENDD_ARGS=""
> - if [ -n "${XENBACKENDD_DEBUG}" ]; then
> - XENBACKENDD_ARGS="${XENBACKENDD_ARGS} -d"
> - fi
> -
> - ${SBINDIR}/xenbackendd ${XENBACKENDD_ARGS}
> -
> printf "\n"
>
> printf "Setting domain 0 name.\n"
> @@ -87,8 +78,6 @@ xen_stop()
> printf "Stopping xencommons.\n"
> printf "WARNING: Not stopping xenstored, as it cannot be restarted.\n"
>
> - rc_pid=$(check_pidfile ${XENBACKENDD_PIDFILE} ${SBINDIR}/xenbackendd)
> - pids="$pids $rc_pid"
> rc_pid=$(check_pidfile ${XENCONSOLED_PIDFILE} ${SBINDIR}/xenconsoled)
> pids="$pids $rc_pid"
>
> @@ -108,17 +97,12 @@ xen_status()
> pids="$pids $xenconsoled_pid"
> fi
>
> - xenbackend_pid=$(check_pidfile ${XENBACKENDD_PIDFILE}
> ${SBINDIR}/xenbackendd)
> - if test -n ${xenbackend_pid}; then
> - pids="$pids $xenbackend_pid"
> - fi
> -
> - if test -n "$xenbackend_pid" -a -n "$xenconsoled_pid" -a -n
> "$xenstored_pid";
> + if test -n "$xenconsoled_pid" -a -n "$xenstored_pid";
> then
> echo "xencommons are running as pids $pids."
> return 0
> fi
> - if test -z "$xenbackend_pid" -a -z "$xenconsoled_pid" -a -z
> "$xenstored_pid";
> + if test -z "$xenconsoled_pid" -a -z "$xenstored_pid";
> then
> echo "xencommons are not running."
> return 0
> @@ -134,11 +118,6 @@ xen_status()
> else
> echo "xenconsoled is not running."
> fi
> - if test -n $xenbackend_pid; then
> - echo "xenbackendd is running as pid $xenbackend_pid."
> - else
> - echo "xenbackendd is not running."
> - fi
> }
>
> load_rc_config $name
> diff --git a/tools/hotplug/NetBSD/rc.d/xend b/tools/hotplug/NetBSD/rc.d/xend
> index ead9ee0..ac5f2ca 100644
> --- a/tools/hotplug/NetBSD/rc.d/xend
> +++ b/tools/hotplug/NetBSD/rc.d/xend
> @@ -15,10 +15,57 @@ export PATH
>
> name="xend"
> rcvar=$name
> -command="${SBINDIR}/xend"
> -command_args="start"
> -command_interpreter=`head -n 1 ${command} | awk '{ print substr($0,3) }'`
> -sig_stop="SIGKILL"
> +start_precmd="xend_precmd"
> +start_cmd="xend_startcmd"
> +stop_cmd="xend_stop"
> +status_cmd="xend_status"
> +extra_commands="status"
> +required_files="/kern/xen/privcmd"
> +
> +XENBACKENDD_PIDFILE="/var/run/xenbackendd.pid"
> +#XENBACKENDD_DEBUG=1
> +
> +xend_precmd()
> +{
> + mkdir -p /var/run/xend || exit 1
> + mkdir -p /var/run/xend/boot || exit 1
> +}
> +
> +xend_startcmd()
> +{
> + printf "Starting xenbackendd.\n"
> +
> + XENBACKENDD_ARGS=""
> + if [ -n "${XENBACKENDD_DEBUG}" ]; then
> + XENBACKENDD_ARGS="${XENBACKENDD_ARGS} -d"
> + fi
> +
> + ${SBINDIR}/xenbackendd ${XENBACKENDD_ARGS}
> +
> + printf "Starting xend.\n"
> + ${SBINDIR}/xend start >/dev/null 2>&1
> +}
> +
> +xend_stop()
> +{
> + printf "Stopping xenbackendd, xend\n"
> + xb_pid=$(check_pidfile ${XENBACKENDD_PIDFILE} ${SBINDIR}/xenbackendd)
> + if test -n "$xb_pid";
> + then
> + kill -${sig_stop:-TERM} $xb_pid
> + fi
> + while pgrep -f ${SBINDIR}/xend >/dev/null 2>&1; do
> + pkill -${sig_stop:-KILL} -f ${SBINDIR}/xend
> + done
> + wait_for_pids $xb_pid
> + rm -f /var/lock/subsys/xend /var/lock/xend /var/run/xenbackendd.pid
> +}
> +
> +xend_status()
> +{
> + ${SBINDIR}/xend status
> +}
>
> load_rc_config $name
> run_rc_command "$1"
> +
--
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |