2 # Copyright 1999-2007 Gentoo Foundation
3 # Distributed under the terms of the GNU General Public License v2
6 local f="/proc/sys/kernel/vshelper"
8 echo "$_VSHELPER" > "$f"
16 for xid in `ls -1 /proc/virtual 2>/dev/null`; do
17 [ "$xid" = "info" -o "$xid" = "status" ] && continue
18 $_VATTRIBUTE --xid $xid --set --flag ~persistent
19 $_VKILL --xid $xid -s 15
21 $_VKILL --xid $xid -s 9
24 for xid in `ls -1 /proc/virtual 2>/dev/null`; do
25 [ "$xid" = "info" -o "$xid" = "status" ] && continue
33 $_MKDIR -p "$__RUNDIR" && $_MKDIR -p "$__VSHELPERSTATEDIR" && $_MKDIR -p `$_READLINK "$__PKGSTATEREVDIR"`
36 function mount_cgroup()
38 _generateCgroupOptions
39 test -n "$CGROUP_MNT" || return 0
40 $_MKDIR -p "$CGROUP_MNT"
41 $_MOUNT -t cgroup -o "$CGROUP_SUBSYS" vserver "$CGROUP_MNT"
44 function umount_cgroup()
46 _generateCgroupOptions
47 test -n "$CGROUP_MNT" || return 0
48 $_UMOUNT "$CGROUP_MNT"
52 : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
53 if [ ! -e ${UTIL_VSERVER_VARS} ]; then
54 eerror "Cannot find util-vserver installation"
55 eerror "(the file '$UTIL_VSERVER_VARS' would be expected)"
59 . ${UTIL_VSERVER_VARS}
61 ebegin "Creating directories for $PACKAGE_NAME"
65 ebegin "Setting vshelper path to $_VSHELPER"
69 ebegin "Loading default device map"
70 $__PKGLIBDIR/bash-wrapper 'handleDeviceMap --set 0 "$__CONFDIR/.defaults/apps/vdevmap"'
73 $__PKGLIBDIR/bash-wrapper 'hasCgroup'
75 ebegin "Mounting cgroup-hierarchy"
76 $__PKGLIBDIR/bash-wrapper '_generateCgroupOptions; test -n "$CGROUP_MNT" || exit 0; $_MKDIR -p "$CGROUP_MNT"; $_MOUNT -t cgroup -o "$CGROUP_SUBSYS" vserver "$CGROUP_MNT"'
82 : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
83 if [ ! -e ${UTIL_VSERVER_VARS} ]; then
84 eerror "Cannot find util-vserver installation"
85 eerror "(the file '$UTIL_VSERVER_VARS' would be expected)"
89 . ${UTIL_VSERVER_VARS}
91 ebegin "Stopping all running guests"
92 $_START_VSERVERS -j 1 --all --stop
95 ebegin "Killing all running contexts"
99 $__PKGLIBDIR/bash-wrapper 'hasCgroup'
100 if [ $? -eq 0 ]; then
101 ebegin "Unmounting cgroup-hierarchy"
102 $__PKGLIBDIR/bash-wrapper '_generateCgroupOptions; test -n "$CGROUP_MNT" || exit 0; $_UMOUNT "$CGROUP_MNT"'
107 # vim:ts=4:filetype=gentoo-init-d