X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=gentoo%2Futil-vserver;h=ce9d1adf27f810e106dabda5b8b87546ca062ca4;hb=HEAD;hp=94903cce775f65c48f6005b582ecf0eadc9e1f20;hpb=93b6ce372f2e185af3cbb19d9c7620486f433496;p=util-vserver.git diff --git a/gentoo/util-vserver b/gentoo/util-vserver index 94903cc..ce9d1ad 100644 --- a/gentoo/util-vserver +++ b/gentoo/util-vserver @@ -2,31 +2,6 @@ # 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 @@ -37,13 +12,24 @@ start() { . ${UTIL_VSERVER_VARS} + ebegin "Creating directories for $PACKAGE_NAME" + $__PKGLIBDIR/bash-wrapper 'create_dirs' + eend $? + ebegin "Setting vshelper path to $_VSHELPER" - set_helper + $__PKGLIBDIR/bash-wrapper 'set_helper' eend $? ebegin "Loading default device map" $__PKGLIBDIR/bash-wrapper 'handleDeviceMap --set 0 "$__CONFDIR/.defaults/apps/vdevmap"' eend $? + + $__PKGLIBDIR/bash-wrapper 'hasCgroup' + if [ $? -eq 0 ]; then + ebegin "Mounting cgroup-hierarchy" + $__PKGLIBDIR/bash-wrapper 'mount_cgroup' + eend $? + fi } stop() { @@ -61,8 +47,15 @@ stop() { eend $? ebegin "Killing all running contexts" - kill_contexts + $__PKGLIBDIR/bash-wrapper 'kill_contexts' eend $? + + $__PKGLIBDIR/bash-wrapper 'hasCgroup' + if [ $? -eq 0 ]; then + ebegin "Unmounting cgroup-hierarchy" + $__PKGLIBDIR/bash-wrapper 'umount_cgroup' + eend $? + fi } # vim:ts=4:filetype=gentoo-init-d