X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=sysv%2Futil-vserver;h=4374143024742a1674094ed2dd8c3e605f5cd11c;hb=443949610f23ce8e4c9764728f21d7bef968d14f;hp=8e54016107a875faa1d51bbfe4345bd51321597e;hpb=6860ee7b75b17e1ae7d8e3b8e9aadecfca4a08ca;p=util-vserver.git diff --git a/sysv/util-vserver b/sysv/util-vserver index 8e54016..4374143 100755 --- a/sysv/util-vserver +++ b/sysv/util-vserver @@ -14,6 +14,8 @@ test -e "$UTIL_VSERVER_VARS" || { LOCKFILE=util-vserver . "$_LIB_VSERVER_INIT_FUNCTIONS" +. "$_LIB_FUNCTIONS" +. "$__PKGLIBDIR/vserver.functions" function set_helper() @@ -29,21 +31,39 @@ function set_helper() function kill_contexts() { - for xid in `ls -1 /proc/virtual`; do + local xid + for xid in `ls -1 /proc/virtual 2>/dev/null`; do test "$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 + test "$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 start() { + _beginResult $"Creating required directories" + create_dirs + _endResult $? _beginResult $"Setting path to vshelper" set_helper _endResult $? local retval=$? + _beginResult $"Loading default device map" + handleDeviceMap --set 0 "$__CONFDIR/.defaults/apps/vdevmap" + _endResult $? test "$retval" -ne 0 || touch "$lockfile" return $retval } @@ -54,11 +74,12 @@ function stop() _beginResult $"Stopping all running guests" $_START_VSERVERS -j 1 --all --stop _endResult $? - local retval=$? _beginResult $"Killing all running contexts" kill_contexts _endResult $? + local retval=$? $_RM -f "$lockfile" + return $retval } function restart() @@ -75,10 +96,10 @@ case "$1" in ;; status) test -f $lockfile && { - echo $"/proc entries were fixed" + echo $"Path to vshelper has been set" exit 0 } - echo $"/proc entries are not fixed" + echo $"Path to vshelper has not been set" exit 1 ;; *)