#!/bin/bash
-# vim:expandtab:shiftwidth=4:softtabstop=4:tabstop=4:
#
# Run select tests by setting ONLY, or as arguments to the script.
# Skip specific tests by setting EXCEPT.
ALWAYS_EXCEPT=${ALWAYS_EXCEPT:-"$SANITY_GSS_EXCEPT"}
# UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
-# Tests that fail on uml
-CPU=`awk '/model/ {print $4}' /proc/cpuinfo`
-[ "$CPU" = "UML" ] && EXCEPT="$EXCEPT"
-
-case `uname -r` in
-2.6*) FSTYPE=${FSTYPE:-ldiskfs}; ALWAYS_EXCEPT="$ALWAYS_EXCEPT " ;;
-*) error "unsupported kernel (gss only works with 2.6.x)" ;;
-esac
-
SRCDIR=`dirname $0`
export PATH=$PWD/$SRCDIR:$SRCDIR:$SRCDIR/../utils:$SRCDIR/../utils/gss:$PATH:/sbin
export NAME=${NAME:-local}
SAVE_PWD=$PWD
+export MULTIOP=${MULTIOP:-multiop}
+
CLEANUP=${CLEANUP:-""}
SETUP=${SETUP:-""}
$RUNAS cat $file > /dev/null || error "$RUNAS_ID cat error"
# start multiop
- $RUNAS multiop $file o_r &
+ $RUNAS $MULTIOP $file o_r &
OPPID=$!
# wait multiop finish its open()
sleep 1
run_test 6 "test basic DLM callback works"
test_7() {
- local tdir=$DIR/d7
- local num_osts
-
- #
- # for open(), client only reserve space for default stripe count lovea,
- # and server may return larger lovea in reply (because of larger stripe
- # count), client need call enlarge_reqbuf() and save the replied lovea
- # in request for future possible replay.
- #
- # Note: current script does NOT guarantee enlarge_reqbuf() will be in
- # the path, however it does work in local test which has 2 OSTs and
- # default stripe count is 1.
- #
- num_osts=`$LFS getstripe $MOUNT | egrep "^[0-9]*:.*ACTIVE" | wc -l`
- echo "found $num_osts active OSTs"
- [ $num_osts -lt 2 ] && echo "skipping $TESTNAME (must have >= 2 OSTs)" && return
-
- mkdir $tdir || error
- $LFS setstripe -c $num_osts $tdir || error
-
- echo "creating..."
- for ((i=0;i<20;i++)); do
- dd if=/dev/zero of=$tdir/f$i bs=4k count=16 2>/dev/null
- done
- echo "reading..."
- for ((i=0;i<20;i++)); do
- dd if=$tdir/f$i of=/dev/null bs=4k count=16 2>/dev/null
- done
- rm -rf $tdir
+ local tdir=$DIR/d7
+ local num_osts
+
+ # for open(), client only reserve space for default stripe count lovea,
+ # and server may return larger lovea in reply (because of larger stripe
+ # count), client need call enlarge_reqbuf() and save the replied lovea
+ # in request for future possible replay.
+ #
+ # Note: current script does NOT guarantee enlarge_reqbuf() will be in
+ # the path, however it does work in local test which has 2 OSTs and
+ # default stripe count is 1.
+ num_osts=$($LFS getstripe $MOUNT | egrep "^[0-9]*:.*ACTIVE" | wc -l)
+ echo "found $num_osts active OSTs"
+ [ $num_osts -lt 2 ] &&
+ echo "skipping $TESTNAME (must have >= 2 OSTs)" && return
+
+ mkdir $tdir || error "mkdir $tdir failed"
+ $LFS setstripe -c $num_osts $tdir || error "setstripe -c $num_osts"
+
+ echo "creating..."
+ for ((i = 0; i < 20; i++)); do
+ dd if=/dev/zero of=$tdir/f$i bs=4k count=16 2>/dev/null
+ done
+ echo "reading..."
+ for ((i = 0; i < 20; i++)); do
+ dd if=$tdir/f$i of=/dev/null bs=4k count=16 2>/dev/null
+ done
+ rm -rf $tdir
}
run_test 7 "exercise enlarge_reqbuf()"
do_facet $SINGLEMDS lctl set_param fail_val=36
do_facet $SINGLEMDS lctl set_param fail_loc=0x513
log "starting multiop"
- multiop $filename m &
+ $MULTIOP $filename m &
multiop_pid=$!
echo "multiop pid=$multiop_pid"
sleep 1
}
run_test 151 "secure mgs connection: server flavor control"
-complete $(basename $0) $SECONDS
+complete $SECONDS
check_and_cleanup_lustre
exit_status