xfs: quotas on idmapped mounts
[xfstests-dev.git] / setup
diff --git a/setup b/setup
index d1d950c..375a54c 100755 (executable)
--- a/setup
+++ b/setup
@@ -1,20 +1,81 @@
-#!/bin/sh
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2003-2004 Silicon Graphics, Inc.  All Rights Reserved.
 #
-if ! . ./common.config
+usage()
+{
+
+       echo "Usage: $0 [options]"'
+
+       -s section      run only specified section(s) from config file
+       -S section      exclude the specified section from the config file
+'
+       exit 0
+}
+
+while [ $# -gt 0 ]; do
+       case "$1" in
+       -\? | -h | --help) usage ;;
+       -s)     RUN_SECTION="$RUN_SECTION $2"; shift ;;
+       -S)     EXCLUDE_SECTION="$EXCLUDE_SECTION $2"; shift ;;
+       *)      usage ;;
+       esac
+       shift
+done
+
+if ! . ./common/config
 then
-    echo "check: failed to source common.config"
+    echo "check: failed to source common/config"
     exit 1
 fi
 
-[ "$USE_EXTERNAL"    = yes ] || USE_EXTERNAL=no
-[ "$USE_LBD_PATCH"   = yes ] || USE_LBD_PATCH=no
-[ "$USE_BIG_LOOPFS"  = yes ] || USE_BIG_LOOPFS=no
-[ "$USE_ATTR_SECURE" = yes ] || USE_ATTR_SECURE=no
-[ -z "$FSTYP" ] && FSTYP="xfs"
+for section in $HOST_OPTIONS_SECTIONS; do
+       OLD_FSTYP=$FSTYP
+       OLD_MOUNT_OPTIONS=$MOUNT_OPTIONS
+       get_next_config $section
+
+       # Do we need to run only some sections ?
+       if [ ! -z "$RUN_SECTION" ]; then
+               skip=true
+               for s in $RUN_SECTION; do
+                       if [ $section == $s ]; then
+                               skip=false
+                               break;
+                       fi
+               done
+               if $skip; then
+                       continue
+               fi
+       fi
+
+       # Did this section get excluded?
+       if [ ! -z "$EXCLUDE_SECTION" ]; then
+               skip=false
+               for s in $EXCLUDE_SECTION; do
+                       if [ $section == $s ]; then
+                               skip=true
+                               break;
+                       fi
+               done
+               if $skip; then
+                       continue
+               fi
+       fi
+
+       [ "$USE_EXTERNAL"    = yes ] || USE_EXTERNAL=no
+       [ "$USE_LBD_PATCH"   = yes ] || USE_LBD_PATCH=no
+       [ "$LARGE_SCRATCH_DEV"  = yes ] || LARGE_SCRATCH_DEV=no
+       [ "$USE_ATTR_SECURE" = yes ] || USE_ATTR_SECURE=no
+       [ -z "$FSTYP" ] && FSTYP="xfs"
+
+       cat <<EOF
+SECTION       -- $section
 
-cat <<EOF
 TEST: DIR=$TEST_DIR DEV=$TEST_DEV rt=[$TEST_RTDEV] log=[$TEST_LOGDEV]
 TAPE: dev=[$TAPE_DEV] rmt=[$RMT_TAPE_DEV] rmtirix=[$RMT_TAPE_USER@$RMT_IRIXTAPE_DEV]
 SCRATCH: MNT=$SCRATCH_MNT DEV=$SCRATCH_DEV rt=[$SCRATCH_RTDEV] log=[$SCRATCH_LOGDEV]
-VARIABLES: external=$USE_EXTERNAL largeblk=$USE_LBD_PATCH fstyp=$FSTYP bigloopfs=$USE_BIG_LOOPFS attrsecure=$USE_ATTR_SECURE
+VARIABLES: external=$USE_EXTERNAL largeblk=$USE_LBD_PATCH fstyp=$FSTYP
+          large_scratch_dev=$LARGE_SCRATCH_DEV attrsecure=$USE_ATTR_SECURE
+--------
 EOF
+done