X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=sysv%2Futil-vserver;h=8cc173f376bca1c9e35aa0841259979d80863310;hb=925e69ce006ee22fbc35b8328dcd4942d9215c96;hp=84128c33a3daf331eca1c87114944c400ad1e1a1;hpb=514c48e423f8c80007bbdc24d13fd81859cc592e;p=util-vserver.git diff --git a/sysv/util-vserver b/sysv/util-vserver index 84128c3..8cc173f 100755 --- a/sysv/util-vserver +++ b/sysv/util-vserver @@ -43,7 +43,7 @@ function kill_contexts() { 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 @@ -51,7 +51,7 @@ function kill_contexts() 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 @@ -67,14 +67,31 @@ function mount_cgroup() _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()