exit 1
}
. "$UTIL_VSERVER_VARS"
+. "$_LIB_VSERVER_INIT_FUNCTIONS"
. "$_LIB_FUNCTIONS"
. "$__PKGLIBDIR/vserver.functions"
# 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 2>/dev/null`; 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 2>/dev/null`; do
- [ "$xid" = "info" -o "$xid" = "status" ] && continue
- let alive+=1
- done
- test $alive = 0
-}
-
-create_dirs()
-{
- $_MKDIR -p "$__RUNDIR" && $_MKDIR -p "$__VSHELPERSTATEDIR" && $_MKDIR -p `$_READLINK "$__PKGSTATEREVDIR"`
-}
-
start() {
: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
if [ ! -e ${UTIL_VSERVER_VARS} ]; then
. ${UTIL_VSERVER_VARS}
ebegin "Creating directories for $PACKAGE_NAME"
- create_dirs
+ $__PKGLIBDIR/bash-wrapper 'create_dirs'
eend $?
ebegin "Setting vshelper path to $_VSHELPER"
- set_helper
+ $__PKGLIBDIR/bash-wrapper 'create_dirs'
eend $?
ebegin "Loading default device map"
$__PKGLIBDIR/bash-wrapper 'hasCgroup'
if [ $? -eq 0 ]; then
ebegin "Mounting cgroup-hierarchy"
- $__PKGLIBDIR/bash-wrapper '_generateCgroupOptions; test -n "$CGROUP_MNT" || exit 0; $_MKDIR -p "$CGROUP_MNT"; $_MOUNT -t cgroup -o "$CGROUP_SUBSYS" vserver "$CGROUP_MNT"'
+ $__PKGLIBDIR/bash-wrapper 'mount_cgroup'
eend $?
fi
}
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 '_generateCgroupOptions; test -n "$CGROUP_MNT" || exit 0; $_UMOUNT "$CGROUP_MNT"'
+ $__PKGLIBDIR/bash-wrapper 'umount_cgroup'
eend $?
fi
}
_postResult
return $rc
}
+
+function set_helper()
+{
+ local f="/proc/sys/kernel/vshelper"
+ if test -e "$f"; then
+ echo "$_VSHELPER" > "$f"
+ return 0
+ else
+ return 2
+ fi
+}
+
+function kill_contexts()
+{
+ local xid
+ for xid in `ls -1 /proc/virtual 2>/dev/null`; 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 2>/dev/null`; do
+ [ "$xid" = "info" -o "$xid" = "status" ] && continue
+ let alive+=1
+ done
+ test $alive = 0
+}
+
+function create_dirs()
+{
+ $_MKDIR -p "$__RUNDIR" && $_MKDIR -p "$__VSHELPERSTATEDIR" && $_MKDIR -p `$_READLINK "$__PKGSTATEREVDIR"`
+}
+
+function mount_cgroup()
+{
+ _generateCgroupOptions
+ test -n "$CGROUP_MNT" || return 0
+ $_MKDIR -p "$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
+ if test -n "$CGROUP_MNT_PER_SS"; then
+ for ss in "${CGROUP_SUBSYS[@]}"; do
+ $_UMOUNT "$CGROUP_MNT/$ss"
+ done
+ else
+ $_UMOUNT "$CGROUP_MNT"
+ fi
+}
. "$_LIB_FUNCTIONS"
. "$__PKGLIBDIR/vserver.functions"
-
-function set_helper()
-{
- local f="/proc/sys/kernel/vshelper"
- if test -e "$f"; then
- echo "$_VSHELPER" > "$f"
- return 0
- else
- return 2
- fi
-}
-
-function kill_contexts()
-{
- local xid
- for xid in `ls -1 /proc/virtual 2>/dev/null`; 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 2>/dev/null`; do
- [ "$xid" = "info" -o "$xid" = "status" ] && continue
- let alive+=1
- done
- test $alive = 0
-}
-
-function create_dirs()
-{
- $_MKDIR -p "$__RUNDIR" && $_MKDIR -p "$__VSHELPERSTATEDIR" && $_MKDIR -p `$_READLINK "$__PKGSTATEREVDIR"`
-}
-
-function mount_cgroup()
-{
- _generateCgroupOptions
- test -n "$CGROUP_MNT" || return 0
- $_MKDIR -p "$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
- 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()
{
_beginResult $"Creating required directories"