#
# 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" || {
function kill_contexts()
{
local xid
- for xid in `ls -1 /proc/virtual`; do
+ for xid in `ls -1 /proc/virtual 2>/dev/null`; do
test "$xid" = "info" -o "$xid" = "status" && continue
$_VATTRIBUTE --xid $xid --set --flag ~persistent
$_VKILL --xid $xid -s 15
$_VKILL --xid $xid -s 9
done
local alive=0
- for xid in `ls -1 /proc/virtual`; do
+ for xid in `ls -1 /proc/virtual 2>/dev/null`; do
test "$xid" = "info" -o "$xid" = "status" && continue
let alive+=1
done
function create_dirs()
{
- $_MKDIR -p "$__RUNDIR" && $_MKDIR -p "$__VSHELPERSTATEDIR" && $_MKDIR -p `getPhysicalDir "$__PKGSTATEREVDIR"`
+ $_MKDIR -p "$__RUNDIR" && $_MKDIR -p "$__VSHELPERSTATEDIR" && $_MKDIR -p `$_READLINK "$__PKGSTATEREVDIR"`
+}
+
+function mount_cgroup()
+{
+ _generateCgroupOptions
+ test -n "$CGROUP_MNT" || return 0
+ $_MKDIR -p "$CGROUP_MNT"
+ $_MOUNT -t cgroup -o "$CGROUP_SUBSYS" vserver "$CGROUP_MNT"
+}
+
+function umount_cgroup()
+{
+ _generateCgroupOptions
+ test -n "$CGROUP_MNT" || return 0
+ $_UMOUNT "$CGROUP_MNT"
}
function start()
_endResult $?
local retval=$?
_beginResult $"Loading default device map"
- loadDeviceMap 0 "$__CONFDIR/.defaults/apps/vdevmap"
+ 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
}
kill_contexts
_endResult $?
local retval=$?
+ if hasCgroup; then
+ _beginResult $"Unmounting cgroup-hierarchy"
+ umount_cgroup
+ _endResult $?
+ fi
$_RM -f "$lockfile"
return $retval
}