X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fvserver.stop;h=c5ee5939a50e15a52046a645fd12159017ce6a22;hb=497c1688595953b76fcc0e79226e4038753c423f;hp=d7a2398f1b5f281f80bdf25cdee3b43f69215605;hpb=ce369b939084273144927b13041d8467631c4a97;p=util-vserver.git diff --git a/scripts/vserver.stop b/scripts/vserver.stop index d7a2398..c5ee593 100644 --- a/scripts/vserver.stop +++ b/scripts/vserver.stop @@ -48,6 +48,14 @@ trap "cleanup" EXIT OPTION_FORCE_SYNC=1 +while test "$#" -gt 0; do + case "$1" in + (--rescue-init) _IS_FAKEINIT=1;; + (--) shift; break;; + (-*) panic $"vserver ... stop: unknown option '$1'";; + esac +done + set -e generateOptions "$VSERVER_DIR" set +e @@ -71,7 +79,9 @@ if test -n "$_IS_FAKEINIT" && \ fi elif $_VSERVER_INFO - FEATURE migrate; then "${NICE_CMD[@]}" \ - "$_CHBIND" "${CHBIND_OPTS[@]}" \ + "${CHBIND_CMD[@]}" \ + "$_VSPACE" --enter --xid "$S_CONTEXT" "${OPTS_VSPACE[@]}" -- \ + "$_VTAG" --migrate "${OPTS_VTAG_ENTER[@]}" --silent -- \ $_VCONTEXT $SILENT_OPT --migrate --chroot --xid "$S_CONTEXT" -- \ "${INITCMD_STOP[@]}" || fail=1 else @@ -102,7 +112,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 - + +handleDeviceMap --unset "$S_CONTEXT" "$VSERVER_DIR/apps/vdevmap" + umountVserver "$VSERVER_DIR" || : disableInterfaces "$VSERVER_DIR"