gentoo: use /var/run for new /run compatibility
[util-vserver.git] / scripts / vserver.suexec
index 88f1ae4..9d809ee 100644 (file)
@@ -22,35 +22,49 @@ test -z "$is_stopped" -o "$OPTION_INSECURE" || {
     exit 1
 }
 generateOptions  "$VSERVER_DIR"
+addtoCPUSET      "$VSERVER_DIR"
+attachToCgroup   "$VSERVER_DIR"
 
 user=$1
 shift
 
 cd "$VSERVER_DIR"/vdir/
 
+test -z "$OPTION_NONAMESPACE" || USE_VNAMESPACE=
+
 if $_VSERVER_INFO - FEATURE migrate; then
     if test -z "$is_stopped"; then
        exec \
-        $_CHBIND      "${CHBIND_OPTS[@]}" \
+       "${IONICE_CMD[@]}" \
+       "${NICE_CMD[@]}" \
+       "${CHBIND_CMD[@]}" \
        $_EXEC_ULIMIT "$VSERVER_DIR/ulimits" \
        ${USE_VNAMESPACE:+$_VNAMESPACE --enter "$S_CONTEXT" -- } \
-       $_VCONTEXT $SILENT_OPT --migrate --chroot \
+       $_VSPACE --enter "$S_CONTEXT" "${OPTS_VSPACE[@]}" "${OPTS_VSPACE_SHARED[@]}" -- \
+       $_VTAG --migrate "${OPTS_VTAG_ENTER[@]}" --silent -- \
+       $_VCONTEXT $SILENT_OPT --migrate $OPT_VCONTEXT_CHROOT $OPT_VCONTEXT_CLOSE_FD \
          --xid "$S_CONTEXT" --uid "$user" "${OPTS_VCONTEXT_ENTER[@]}" -- \
        "$@"
     else
        exec \
-       $_CHBIND      "${CHBIND_OPTS[@]}" \
+       "${IONICE_CMD[@]}" \
+       "${NICE_CMD[@]}" \
+       "${CHBIND_CMD[@]}" \
        $_EXEC_ULIMIT "$VSERVER_DIR/ulimits" \
+       $_VTAG --create "${OPTS_VTAG_CREATE[@]}" --silent -- \
+       $_VSPACE --new "${OPTS_VSPACE[@]}" ${USE_VNAMESPACE:+--mount --fs} -- \
         $_VCONTEXT --create "${OPTS_VCONTEXT_CREATE[@]}" -- \
-       $_VUNAME   --xid self --dir "$VSERVER_DIR"/uts     --missingok -- \
+       $_VSPACE --set "${OPTS_VSPACE[@]}" ${USE_VNAMESPACE:+--mount --fs} -- \
+       $_VUNAME   --xid self --dir "$VSERVER_DIR"/uts --missingok -- \
        $_VUNAME   --xid self --set -t context="$VSERVER_DIR" -- \
-       $_VCONTEXT --migrate-self --endsetup --chroot $SILENT_OPT -- \
+       $_VCONTEXT --migrate-self --endsetup $OPT_VCONTEXT_CHROOT $SILENT_OPT -- \
        "$@"
     fi
 else
     exec \
+    "${IONICE_CMD[@]}" \
     "${NICE_CMD[@]}" \
-    "$_CHBIND"       "${CHBIND_OPTS[@]}" \
+    "${CHBIND_CMD[@]}" \
     "$_EXEC_ULIMIT"  "$VSERVER_DIR/ulimits" \
     ${USE_VNAMESPACE:+$_VNAMESPACE --enter "$S_CONTEXT" --} \
     $_CHCONTEXT_COMPAT "${CHCONTEXT_OPTS[@]}" -- \