export PATH=$PWD/$SRCDIR:$SRCDIR:$PWD/$SRCDIR/../utils:$PATH:/sbin
ONLY=${ONLY:-"$*"}
-ALWAYS_EXCEPT=${ALWAYS_EXCEPT:-""}
+ALWAYS_EXCEPT="$SANITY_QUOTA_EXCEPT"
# UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
case `uname -r` in
MAX_DQ_TIME=604800
MAX_IQ_TIME=604800
-QUOTALOG=${TESTSUITELOG:-$TMP/$(basename $0 .sh).log}
-FAIL_ON_ERROR=false
-
-log() {
- echo "$*"
- $LCTL mark "$*" 2> /dev/null || true
-}
-
-trace() {
- log "STARTING: $*"
- strace -o $TMP/$1.strace -ttt $*
- RC=$?
- log "FINISHED: $*: rc $RC"
- return 1
-}
TRACE=${TRACE:-""}
+LUSTRE=${LUSTRE:-`dirname $0`/..}
+. $LUSTRE/tests/test-framework.sh
+init_test_env $@
+. ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh}
-run_one() {
- BEFORE=`date +%s`
- log "== test $1: $2= `date +%H:%M:%S` ($BEFORE)"
- export TESTNAME=test_$1
- test_$1 || error "exit with rc=$?"
- unset TESTNAME
- pass "($((`date +%s` - $BEFORE))s)"
- cd $SAVE_PWD
-}
-
-build_test_filter() {
- [ "$ALWAYS_EXCEPT$EXCEPT$SANITY_EXCEPT" ] && \
- echo "Skipping tests: `echo $ALWAYS_EXCEPT $EXCEPT $SANITY_QUOTA_EXCEPT`"
-
- for O in $ONLY; do
- eval ONLY_${O}=true
- done
- for E in $EXCEPT $ALWAYS_EXCEPT $SANITY_QUOTA_EXCEPT; do
- eval EXCEPT_${E}=true
- done
- # turn on/off quota tests must be included
- eval ONLY_0=true
- eval ONLY_99=true
-}
-
-_basetest() {
- echo $*
-}
-
-basetest() {
- IFS=abcdefghijklmnopqrstuvwxyz _basetest $1
-}
-
-run_test() {
- base=`basetest $1`
- if [ "$ONLY" ]; then
- testname=ONLY_$1
- if [ ${!testname}x != x ]; then
- run_one $1 "$2"
- return $?
- fi
- testname=ONLY_$base
- if [ ${!testname}x != x ]; then
- run_one $1 "$2"
- return $?
- fi
- echo -n "."
- return 0
- fi
- testname=EXCEPT_$1
- if [ ${!testname}x != x ]; then
- TESTNAME=test_$1 skip "skipping excluded test $1"
- return 0
- fi
- testname=EXCEPT_$base
- if [ ${!testname}x != x ]; then
- TESTNAME=test_$1 skip "skipping excluded test $1 (base $base)"
- return 0
- fi
- run_one $1 "$2"
- return $?
-}
+QUOTALOG=${TESTSUITELOG:-$TMP/$(basename $0 .sh).log}
+FAIL_ON_ERROR=false
[ "$QUOTALOG" ] && rm -f $QUOTALOG || true
[ -z "`echo $DIR | grep $MOUNT`" ] && echo "$DIR not in $MOUNT" && exit 99
DIR2=${DIR2:-$MOUNT_2}
-LPROC=/proc/fs/lustre
LOVNAME=`cat $LPROC/llite/*/lov/common_name | tail -n 1`
OSTCOUNT=`cat $LPROC/lov/$LOVNAME/numobd`
STRIPECOUNT=`cat $LPROC/lov/$LOVNAME/stripecount`
build_test_filter
+eval ONLY_0=true
+eval ONLY_99=true
# set_blk_tunables(btune_sz)
set_blk_tunesz() {
# quota recovery (block quota only by now)
test_7()
{
- remote_mds && skip "remote mds"
+ remote_mds && skip "remote mds" && return 0
LIMIT=$(( $BUNIT_SZ * $(($OSTCOUNT + 1)) * 10)) # 10 bunits each sever
TESTFILE="$TSTDIR/quota_tst70"
set_blk_tunesz $((1024 * 50))
# set the D_QUOTA flag
- DBG_SAVE="`sysctl -n lnet.debug`"
- sysctl -w lnet.debug="$DBG_SAVE quota"
+ debugsave
+ sysctl -w lnet.debug="+quota"
TESTFILE="$TSTDIR/quota_tst90"
set_blk_tunesz $BTUNE_SZ
set_blk_unitsz $BUNIT_SZ
- sysctl -w lnet.debug="$DBG_SAVE"
+ debugrestore
return $RC
}
run_test 9 "run for fixing bug10707(64bit) ==========="
set_blk_tunesz $((1024 * 50))
# set the D_QUOTA flag
- set_flag=0
- if [ -z "`sysctl lnet.debug | grep quota`" ]; then
- sysctl -w lnet.debug="+quota"
- set_flag=1
- fi
-
+ debugsave
+ sysctl -w lnet.debug="+quota"
+
# make qd_count 32 bit
sysctl -w lustre.fail_loc=0xA00
RC=$?
# clear the flage
- if [ $set_flag -eq 1 ]; then
- sysctl -w lnet.debug="-quota"
- fi
+ debugrestore
# make qd_count 64 bit
sysctl -w lustre.fail_loc=0
echo "pass check_if_quota_zero"
}
-# test setting quota on root, b=12223
-test_13(){
- TESTFILE="$TSTDIR/quota_tst13"
+pre_test_14 () {
+ # reboot the lustre
+ cd $T_PWD; sh llmountcleanup.sh || error "llmountcleanup failed"
+ sh llmount.sh
+ pre_test
+ setup
+ run_test 0 "reboot lustre"
+}
- # reboot the lustre
- cd $T_PWD; sh llmountcleanup.sh || error "llmountcleanup failed"
- sh llmount.sh
- pre_test
- setup
- run_test 0 "reboot lustre"
+pre_test_14
+
+test_14(){ # b=12223 -- setting quota on root
+ mkdir $TSTDIR/$tdir || error "mkdir $TSTDIR/$tdir failed"
+ TESTFILE="$TSTDIR/$tdir/$tfile"
# out of root's file and block quota
$LFS setquota -u root 10 10 10 10 $MOUNT
for i in `seq 1 10`; do $RUNAS rm -f ${TESTFILE}a_$i; done
# do the check
- dmesg | tail | grep "\-122" |grep llog_obd_origin_add && error "test_13 failed."
+ dmesg | tail | grep "\-122" |grep llog_obd_origin_add && error "err -122 not found in dmesg"
$LFS setquota -u root 0 0 0 0 $MOUNT
#check_if_quota_zero u root
unlinkmany ${TESTFILE} 15
rm -f $TESTFILE
}
-run_test 13 "test setting quota on root ==="
+run_test 14 "test setting quota on root ==="
# turn off quota
test_99()