#
# 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" || {
{
local xid
for xid in `ls -1 /proc/virtual 2>/dev/null`; do
- test "$xid" = "info" -o "$xid" = "status" && continue
+ [ "$xid" = "info" -o "$xid" = "status" ] && continue
$_VATTRIBUTE --xid $xid --set --flag ~persistent
$_VKILL --xid $xid -s 15
sleep 3
done
local alive=0
for xid in `ls -1 /proc/virtual 2>/dev/null`; do
- test "$xid" = "info" -o "$xid" = "status" && continue
+ [ "$xid" = "info" -o "$xid" = "status" ] && continue
let alive+=1
done
test $alive = 0
_generateCgroupOptions
test -n "$CGROUP_MNT" || return 0
$_MKDIR -p "$CGROUP_MNT"
- $_MOUNT -t cgroup -o "$CGROUP_SUBSYS" vserver "$CGROUP_MNT"
+ if test -n "$CGROUP_MNT_PER_SS"; then
+ for ss in "${CGROUP_SUBSYS[@]}"; do
+ $_MKDIR -p "$CGROUP_MNT/$ss"
+ $_MOUNT -t cgroup -o "$ss" vserver "$CGROUP_MNT/$ss"
+ done
+ else
+ oIFS="$IFS"
+ IFS=,
+ ss="${CGROUP_SUBSYS[*]}"
+ IFS="$oIFS"
+ $_MOUNT -t cgroup -o "$ss" vserver "$CGROUP_MNT"
+ fi
}
function umount_cgroup()
{
_generateCgroupOptions
test -n "$CGROUP_MNT" || return 0
- $_UMOUNT "$CGROUP_MNT"
+ if test -n "$CGROUP_MNT_PER_SS"; then
+ for ss in "${CGROUP_SUBSYS[@]}"; do
+ $_UMOUNT "$CGROUP_MNT/$ss"
+ done
+ else
+ $_UMOUNT "$CGROUP_MNT"
+ fi
}
function start()