X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fscripts%2Fvserver.start;h=e791df7daa8789346afd1647c9697d7855b40372;hb=a40a1c7e557e92c0ccdc5aa67266cddecb487e3b;hp=ca0b0af54910d859884c7859c257514ee5ada7e1;hpb=221c549c20a359fa3dc39614357137e174968d03;p=util-vserver.git diff --git a/util-vserver/scripts/vserver.start b/util-vserver/scripts/vserver.start index ca0b0af..e791df7 100644 --- a/util-vserver/scripts/vserver.start +++ b/util-vserver/scripts/vserver.start @@ -16,10 +16,11 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. if isVserverRunning "$VSERVER_DIR"; then - echo $"vserver '$VSERVER_NAME' already running; aborting..." + echo $"vserver '$VSERVER_NAME' already running; aborting..." >&2 exit 1 fi +set -e generateOptions "$VSERVER_DIR" execScriptlets "$VSERVER_DIR" "$VSERVER_NAME" prepre-start enableInterfaces "$VSERVER_DIR" @@ -28,15 +29,29 @@ mountVserver "$VSERVER_DIR" prepareInit "$VSERVER_DIR" cd "$VSERVER_DIR"/vdir/ - execScriptlets "$VSERVER_DIR" "$VSERVER_NAME" pre-start -"${NICE_CMD[@]}" \ +cd "$VSERVER_DIR"/vdir/ + +if $_VSERVER_INFO - FEATURE migrate; then + $_CHBIND "${CHBIND_OPTS[@]}" \ + $_VCONTEXT --create "${OPTS_VCONTEXT_CREATE[@]}" \ + ${USE_VNAMESPACE:+$_VNAMESPACE --set} \ + $_VLIMIT --dir "$VSERVER_DIR"/rlimits --missingok \ + $_VUNAME --dir "$VSERVER_DIR"/uts --missingok \ + $_VATTRIBUTE --set "${OPTS_VATTRIBUTE[@]}" \ + $_VCONTEXT --migrate --chroot $SILENT_OPT "${OPTS_VCONTEXT_MIGRATE[@]}" \ + -- "${INITCMD_START[@]}" +else + "${NICE_CMD[@]}" \ "$_CHBIND" "${CHBIND_OPTS[@]}" \ "$_EXEC_ULIMIT" "$VSERVER_DIR/ulimits" \ - "$_CHCONTEXT" "${CHCONTEXT_DISCONNECT[@]}" "${CHCONTEXT_OPTS[@]}" \ + "$_CHCONTEXT" "${CHCONTEXT_OPTS[@]}" "${CHCONTEXT_INIT_OPTS[@]}" \ "$_SAVE_CTXINFO" "$VSERVER_DIR" \ - "$_CAPCHROOT" "${CAPCHROOT_OPTS[@]}" . "${INITCMD_START[@]}" + "$_CLEARENV" \ + "$_CAPCHROOT" "${CAPCHROOT_OPTS[@]}" . \ + -- "${INITCMD_START[@]}" +fi "${INITCMD_START_SYNC[@]}"