--- /dev/null
+#!/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
+
+ source ${UTIL_VSERVER_VARS}
+ source "$_LIB_FUNCTIONS"
+ source "$__PKGLIBDIR/vserver.functions"
+
+ ebegin "Setting vshelper path to $_VSHELPER"
+ set_helper
+ eend $?
+
+ ebegin "Loading default device map"
+ loadDeviceMap 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
+
+ source ${UTIL_VSERVER_VARS}
+ source "$_LIB_FUNCTIONS"
+ source "$__PKGLIBDIR/vserver.functions"
+
+ 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