X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fvserver.start;h=0f3664231f65c4cec19acba0a9e2b3af98d39b44;hb=591ac183dae62631476d29a789db680f9363a2ef;hp=91a54a4a511bcb9916bbc00d4365d74d7a524a8e;hpb=6feb7875a8febc89d1a290092e4960414739319d;p=util-vserver.git diff --git a/scripts/vserver.start b/scripts/vserver.start index 91a54a4..0f36642 100644 --- a/scripts/vserver.start +++ b/scripts/vserver.start @@ -60,6 +60,7 @@ Failed to start vserver '$VSERVER_NAME'" test -n "$OPTION_DEBUG" || exec 2>/dev/null >/dev/null test -z "$is_mounted" || umountVserver "$VSERVER_DIR" || : test -z "$have_interfaces" || disableInterfaces "$VSERVER_DIR" || : + test -z "$have_cgroup" || destroyCgroup "$VSERVER_DIR" || : unlock || : } @@ -72,6 +73,7 @@ is_vshelper_init= have_interfaces= startsync_pipe= have_initcmd= +have_cgroup= while test "$#" -gt 0; do case "$1" in @@ -121,6 +123,7 @@ enableInterfaces "$VSERVER_DIR" && have_interfaces=1 mountVserver "$VSERVER_DIR" && is_mounted=1 prepareInit "$VSERVER_DIR" addtoCPUSET "$VSERVER_DIR" +attachToCgroup "$VSERVER_DIR" && have_cgroup=1 handleDeviceMap --set "$S_CONTEXT" "$VSERVER_DIR/apps/vdevmap" @@ -133,13 +136,18 @@ test -z "$OPTION_DEFAULTTTY" || setDefaultTTY "$VSERVER_DIR" pushd "$VSERVER_DIR"/vdir/ >/dev/null is_configured=1 if $_VSERVER_INFO - FEATURE migrate; then + ${IONICE_CMD[@]} \ ${NICE_CMD[@]} \ + "${VSPACE_SHARED_CMD[@]}" \ "${CHBIND_CMD[@]}" \ $_EXEC_ULIMIT "$VSERVER_DIR"/ulimits \ $_VTAG --create "${OPTS_VTAG_CREATE[@]}" --silent -- \ + $_VSPACE --new "${OPTS_VSPACE[@]}" -- \ $_VCONTEXT --create "${OPTS_VCONTEXT_CREATE[@]}" -- \ ${OPTION_STRACE:+$_STRACE -fF -o /tmp/vserver-start.$$} \ ${USE_VNAMESPACE:+$_VNAMESPACE --set -- } \ + $_VSPACE --set "${OPTS_VSPACE[@]}" "${OPTS_VSPACE_SHARED[@]}" -- \ + $_EXEC_REMOUNT /proc /sys -- \ $_VLIMIT --dir "$VSERVER_DIR"/rlimits --missingok -- \ $_VSCHED --xid self --force "${OPTS_VSCHED[@]}" -- \ $_VSYSCTL --xid self --dir "$VSERVER_DIR"/sysctl --missingok -- \ @@ -150,7 +158,7 @@ if $_VSERVER_INFO - FEATURE migrate; then $_VATTRIBUTE --set "${OPTS_VATTRIBUTE[@]}" -- \ $_SAVE_CTXINFO "$VSERVER_DIR" \ $_ENV -i "${OPTS_ENV[@]}" \ - $_VCONTEXT --migrate-self --endsetup --chroot $SILENT_OPT \ + $_VCONTEXT --migrate-self --endsetup $OPT_VCONTEXT_CHROOT $OPT_VCONTEXT_CLOSE_FD $SILENT_OPT \ "${OPTS_VCONTEXT_MIGRATE[@]}" "${OPTS_VCONTEXT_ENTER[@]}" -- \ "${INITCMD_START[@]}" else @@ -160,6 +168,7 @@ else $_MKFIFO -m600 "$startsync_pipe" ## safe, since mkfifo does not follow symlinks fi + ${IONICE_CMD[@]} \ ${NICE_CMD[@]} \ "${CHBIND_CMD[@]}" \ $_EXEC_ULIMIT "$VSERVER_DIR/ulimits" \