#!/sbin/runscript # Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 set_helper() { local f="/proc/sys/kernel/vshelper" if [ -e "$f" ]; then echo "$_VSHELPER" > "$f" fi return 0 } kill_contexts() { local xid for xid in `ls -1 /proc/virtual`; do [ "$xid" = "info" -o "$xid" = "status" ] && continue $_VATTRIBUTE --xid $xid --set --flag ~persistent $_VKILL --xid $xid -s 15 sleep 3 $_VKILL --xid $xid -s 9 done local alive=0 for xid in `ls -1 /proc/virtual`; do [ "$xid" = "info" -o "$xid" = "status" ] && continue let alive+=1 done return $alive } start() { : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars} if [ ! -e ${UTIL_VSERVER_VARS} ]; then eerror "Cannot find util-vserver installation" eerror "(the file '$UTIL_VSERVER_VARS' would be expected)" return 1 fi . ${UTIL_VSERVER_VARS} ebegin "Setting vshelper path to $_VSHELPER" set_helper eend $? ebegin "Loading default device map" $__PKGLIBDIR/bash-wrapper 'handleDeviceMap --set 0 "$__CONFDIR/.defaults/apps/vdevmap"' eend $? } stop() { : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars} if [ ! -e ${UTIL_VSERVER_VARS} ]; then eerror "Cannot find util-vserver installation" eerror "(the file '$UTIL_VSERVER_VARS' would be expected)" return 1 fi . ${UTIL_VSERVER_VARS} ebegin "Stopping all running guests" $_START_VSERVERS -j 1 --all --stop eend $? ebegin "Killing all running contexts" kill_contexts eend $? } # vim:ts=4:filetype=gentoo-init-d