#!/sbin/runscript # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ opts="start stop status restart" depend() { before xendomain } await_daemons_up() { for ((i=0; i<5; i++)); do sleep 1 xend status && return 0 done return 1 } stop_all_xendomains(){ einfo "Shutting down all Xen domains" xm list | cut -d' ' -f1 | grep -Ev "^(Name|Domain-0)$" | while read dom; do # Stop all running domains. ebegin " Stopping domain $dom" xm shutdown --halt --wait $dom >/dev/null eend $? done } start() { ebegin "Starting Xen control daemon" xend start xend status || await_daemons_up eend $? if [ "$XENSV" = YES ] && xend status; then ebegin "Starting Xensv" xensv start eend $? fi } stop() { if [ "$(xm list | wc -l)" -gt 2 ]; then stop_all_xendomains fi if [ "$XENSV" = YES ]; then ebegin "Stopping Xensv" xensv stop eend $? fi ebegin "Stopping Xen control daemon" xend stop eend $? } status() { xend status }