git://git.onelab.eu
/
util-vserver.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Tagging module util-vserver - util-vserver-0.30.215-6
[util-vserver.git]
/
scripts
/
vserver.stop
diff --git
a/scripts/vserver.stop
b/scripts/vserver.stop
index
3783310
..
cdf4d12
100644
(file)
--- a/
scripts/vserver.stop
+++ b/
scripts/vserver.stop
@@
-1,4
+1,4
@@
-# $Id: vserver.stop 2
508 2007-02-25 14:06:51
Z dhozac $ --*- sh -*--
+# $Id: vserver.stop 2
704 2008-03-16 03:30:22
Z dhozac $ --*- sh -*--
# Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
#
# Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
#
@@
-48,6
+48,14
@@
trap "cleanup" EXIT
OPTION_FORCE_SYNC=1
OPTION_FORCE_SYNC=1
+while test "$#" -gt 0; do
+ case "$1" in
+ (--rescue-init) shift; _IS_FAKEINIT=1;;
+ (--) shift; break;;
+ (-*) panic $"vserver ... stop: unknown option '$1'";;
+ esac
+done
+
set -e
generateOptions "$VSERVER_DIR"
set +e
set -e
generateOptions "$VSERVER_DIR"
set +e
@@
-62,6
+70,8
@@
cd "$VSERVER_DIR"/vdir/
test -z "$OPTION_DEFAULTTTY" || setDefaultTTY "$VSERVER_DIR"
test -z "$OPTION_DEFAULTTTY" || setDefaultTTY "$VSERVER_DIR"
+$_VATTRIBUTE --set --xid "$S_CONTEXT" --flag !SC_HELPER
+
fail=
initWait "$VSERVER_DIR" "$S_CONTEXT" vwait_statdir
if test -n "$_IS_FAKEINIT" && \
fail=
initWait "$VSERVER_DIR" "$S_CONTEXT" vwait_statdir
if test -n "$_IS_FAKEINIT" && \
@@
-71,6
+81,9
@@
if test -n "$_IS_FAKEINIT" && \
fi
elif $_VSERVER_INFO - FEATURE migrate; then
"${NICE_CMD[@]}" \
fi
elif $_VSERVER_INFO - FEATURE migrate; then
"${NICE_CMD[@]}" \
+ "${CHBIND_CMD[@]}" \
+ "$_VSPACE" --enter "$S_CONTEXT" "${OPTS_VSPACE[@]}" -- \
+ "$_VTAG" --migrate "${OPTS_VTAG_ENTER[@]}" --silent -- \
$_VCONTEXT $SILENT_OPT --migrate --chroot --xid "$S_CONTEXT" -- \
"${INITCMD_STOP[@]}" || fail=1
else
$_VCONTEXT $SILENT_OPT --migrate --chroot --xid "$S_CONTEXT" -- \
"${INITCMD_STOP[@]}" || fail=1
else
@@
-83,10
+96,10
@@
else
fi
# Remove persistent so those contexts can be stopped
fi
# Remove persistent so those contexts can be stopped
-$_VATTRIBUTE --set --xid "$S_CONTEXT" --flag
~
persistent 2>/dev/null || :
-if $_VSERVER_INFO -q "$
S
_CONTEXT" XIDTYPE static &&
+$_VATTRIBUTE --set --xid "$S_CONTEXT" --flag
!
persistent 2>/dev/null || :
+if $_VSERVER_INFO -q "$
N
_CONTEXT" XIDTYPE static &&
$_VSERVER_INFO - FEATURE vnet; then
$_VSERVER_INFO - FEATURE vnet; then
- $_NATTRIBUTE --set --nid "$
S_CONTEXT" --flag ~
persistent 2>/dev/null || :
+ $_NATTRIBUTE --set --nid "$
N_CONTEXT" --flag !
persistent 2>/dev/null || :
fi
vshelper.doStopSync
fi
vshelper.doStopSync
@@
-101,7
+114,9
@@
sendKillSequence "$S_CONTEXT" "${INITKILL_SEQ[@]}"
echo $"Vserver '$VSERVER_DIR' still running unexpectedly; please investigate it manually..." >&2
execScriptlets "$VSERVER_DIR" "$VSERVER_NAME" post-stop
echo $"Vserver '$VSERVER_DIR' still running unexpectedly; please investigate it manually..." >&2
execScriptlets "$VSERVER_DIR" "$VSERVER_NAME" post-stop
-
+
+handleDeviceMap --unset "$S_CONTEXT" "$VSERVER_DIR/apps/vdevmap"
+
umountVserver "$VSERVER_DIR" || :
disableInterfaces "$VSERVER_DIR"
umountVserver "$VSERVER_DIR" || :
disableInterfaces "$VSERVER_DIR"