#
# chkconfig: 2345 10 90
# description: Sets the path to vshelper and kills all guest processes
+#
+### BEGIN INIT INFO
+# Provides: util-vserver
+# Required-Start: $remote_fs $syslog $time
+# Required-Stop: $remote_fs $syslog $time
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Sets the path to vshelper and kills all guest processes
+# Description: Sets the path to vshelper and kills all guest processes
+### END INIT INFO
: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
test -e "$UTIL_VSERVER_VARS" || {
LOCKFILE=util-vserver
. "$_LIB_VSERVER_INIT_FUNCTIONS"
-
-
-function set_helper()
-{
- local f="/proc/sys/kernel/vshelper"
- if test -e "$f"; then
- echo "$_VSHELPER" > "$f"
- return 0
- else
- return 2
- fi
-}
-
-function kill_contexts()
-{
- for xid in `ls -1 /proc/virtual`; do
- test "$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
-}
+. "$_LIB_FUNCTIONS"
+. "$__PKGLIBDIR/vserver.functions"
function start()
{
+ _beginResult $"Creating required directories"
+ create_dirs
+ _endResult $?
_beginResult $"Setting path to vshelper"
set_helper
_endResult $?
local retval=$?
+ _beginResult $"Loading default device map"
+ handleDeviceMap --set 0 "$__CONFDIR/.defaults/apps/vdevmap"
+ _endResult $?
+ if hasCgroup; then
+ _beginResult $"Mounting cgroup-hierarchy"
+ mount_cgroup
+ _endResult $?
+ fi
test "$retval" -ne 0 || touch "$lockfile"
return $retval
}
_beginResult $"Stopping all running guests"
$_START_VSERVERS -j 1 --all --stop
_endResult $?
- local retval=$?
_beginResult $"Killing all running contexts"
kill_contexts
_endResult $?
+ local retval=$?
+ if hasCgroup; then
+ _beginResult $"Unmounting cgroup-hierarchy"
+ umount_cgroup
+ _endResult $?
+ fi
$_RM -f "$lockfile"
+ return $retval
}
function restart()
;;
status)
test -f $lockfile && {
- echo $"/proc entries were fixed"
+ echo $"Path to vshelper has been set"
exit 0
}
- echo $"/proc entries are not fixed"
+ echo $"Path to vshelper has not been set"
exit 1
;;
*)