}
run_test 12 "lmc --batch, with single/double quote, backslash in batchfile"
-test_13() {
+test_13a() { # was test_13
OLDXMLCONFIG=$XMLCONFIG
XMLCONFIG="conf13-1.xml"
rm -f $XMLCONFIG
XMLCONFIG=$OLDXMLCONFIG
}
-run_test 13 "check new_uuid of lmc operating correctly"
+run_test 13a "check new_uuid of lmc operating correctly"
test_13b() {
OLDXMLCONFIG=$XMLCONFIG
}
run_test 14 "timeouts waiting for lost client during replay"
-test_15() {
+test_15a() { # was test_15
replay_barrier mds
createmany -o $MOUNT1/$tfile- 25
createmany -o $MOUNT2/$tfile-2- 1
zconf_mount `hostname` $MOUNT2 || error "mount $MOUNT2 fail"
return 0
}
-run_test 15 "timeout waiting for lost client during replay, 1 client completes"
-
-test_15a() {
- local ost_last_id=""
- local osc_last_id=""
-
- replay_barrier mds
- echo "data" > "$MOUNT2/${tfile}-m2"
-
- umount $MOUNT2
- facet_failover mds
- df $MOUNT || return 1
-
- ost_last_id=`cat /proc/fs/lustre/obdfilter/*/last_id`
- mds_last_id=`cat /proc/fs/lustre/osc/*mds*/last_id`
-
- echo "Ids after MDS<->OST synchonizing"
- echo "--------------------------------"
- echo "MDS last_id:"
- echo $mds_last_id
- echo "OST last_id:"
- echo $ost_last_id
-
- local i=0
- echo $ost_last_id | while read id; do
- ost_ids[$i]=$id
- ((i++))
- done
-
- i=0
- echo $mds_last_id | while read id; do
- mds_ids[$i]=$id
- ((i++))
- done
-
- local arr_len=${#mds_ids[*]}
- for ((i=0;i<$arr_len;i++)); do
- mds_id=${mds_ids[i]}
- ost_id=${ost_ids[i]}
-
- test $mds_id -ge $ost_id || {
- echo "MDS last id ($mds_id) is smaller than OST one ($ost_id)"
- return 2
- }
- done
-
- zconf_mount `hostname` $MOUNT2 || error "mount $MOUNT2 fail"
- return 0
-}
-#CROW run_test 15a "OST clear orphans - synchronize ids on MDS and OST"
-
-test_15b() {
- replay_barrier mds
- echo "data" > "$MOUNT2/${tfile}-m2"
- umount $MOUNT2
-
- do_facet ost1 "lctl set_param fail_loc=0x80000802"
- facet_failover mds
-
- df $MOUNT || return 1
- do_facet ost1 "lctl set_param fail_loc=0"
-
- zconf_mount `hostname` $MOUNT2 || error "mount $MOUNT2 fail"
- return 0
-}
-#CROW run_test 15b "multiple delayed OST clear orphans"
+run_test 15a "timeout waiting for lost client during replay, 1 client completes"
test_15c() {
replay_barrier mds
GRANT_CHECK_LIST=${GRANT_CHECK_LIST:-""}
# Skip these tests
-# bug number:
+# bug number:
ALWAYS_EXCEPT="$REPLAY_SINGLE_EXCEPT"
-# 63 min 7 min AT AT AT AT"
-[ "$SLOW" = "no" ] && EXCEPT_SLOW="1 2 3 4 6 6b 12 16 44 44b 65 66 67 68"
+# 63 min 7 min AT AT AT AT"
+[ "$SLOW" = "no" ] && EXCEPT_SLOW="1 2 3 4 6 12 16 44a 44b 65 66 67 68"
build_test_filter
rm -rf $DIR/[df][0-9]*
-test_0() {
+test_0a() { # was test_0
replay_barrier mds
fail mds
}
-run_test 0 "empty replay"
+run_test 0a "empty replay"
test_0b() {
# this test attempts to trigger a race in the precreation code,
}
run_test 1 "simple create"
-test_1a() {
- do_facet ost1 "lctl set_param fail_loc=0"
-
- rm -fr $DIR/$tfile
- local old_last_id=`lctl get_param -n obdfilter.*.last_id`
- touch -o $DIR/$tfile 1
- sync
- local new_last_id=`lctl get_param -n obdfilter.*.last_id`
-
- test "$old_last_id" = "$new_last_id" || {
- echo "OST object create is caused by MDS"
- return 1
- }
-
- old_last_id=`lctl get_param -n obdfilter.*.last_id`
- echo "data" > $DIR/$tfile
- sync
- new_last_id=`lctl get_param -n obdfilter.*.last_id`
- test "$old_last_id" = "$new_last_id "&& {
- echo "CROW does not work on write"
- return 1
- }
-
- rm -fr $DIR/$tfile
-
-#define OBD_FAIL_OST_CROW_EIO | OBD_FAIL_ONCE
- do_facet ost1 "lctl set_param fail_loc=0x80000801"
-
- rm -fr $DIR/1a1
- old_last_id=`lctl get_param -n obdfilter.*.last_id`
- echo "data" > $DIR/1a1
- sync
- new_last_id=`lctl get_param -n obdfilter.*.last_id`
- test "$old_last_id" = "$new_last_id" || {
- echo "CROW does work with fail_loc=0x80000801"
- return 1
- }
-
- rm -fr $DIR/1a1
-
- do_facet ost1 "lctl set_param fail_loc=0"
-}
-#CROW run_test 1a "CROW object create (check OST last_id)"
-
test_2a() {
replay_barrier mds
touch $DIR/$tfile
}
run_test 3c "replay failed open -ENOMEM"
-test_4() {
+test_4a() { # was test_4
replay_barrier mds
for i in `seq 10`; do
echo "tag-$i" > $DIR/$tfile-$i
grep -q "tag-$i" $DIR/$tfile-$i || error "$tfile-$i"
done
}
-run_test 4 "|x| 10 open(O_CREAT)s"
+run_test 4a "|x| 10 open(O_CREAT)s"
test_4b() {
replay_barrier mds
run_test 5 "|x| 220 open(O_CREAT)"
-test_6() {
+test_6a() { # was test_6a
replay_barrier mds
mcreate $DIR/$tdir/$tfile
fail mds
sleep 2
# waiting for log process thread
}
-run_test 6 "mkdir + contained create"
+run_test 6a "mkdir + contained create"
test_6b() {
replay_barrier mds
}
run_test 19 "|X| mcreate, open, write, rename "
-test_20() {
+test_20a() { # was test_20
replay_barrier mds
multiop_bg_pause $DIR/$tfile O_tSc || return 3
pid=$!
[ -e $DIR/$tfile ] && return 2
return 0
}
-run_test 20 "|X| open(O_CREAT), unlink, replay, close (test mds_cleanup_orphans)"
+run_test 20a "|X| open(O_CREAT), unlink, replay, close (test mds_cleanup_orphans)"
test_20b() { # bug 10480
BEFOREUSED=`df -P $DIR | tail -1 | awk '{ print $3 }'`
run_test 32 "close() notices client eviction; close() after client eviction"
# Abort recovery before client complete
-test_33() {
+test_33a() { # was test_33
replay_barrier mds
createmany -o $DIR/$tfile-%d 100
fail_abort mds
unlinkmany $DIR/$tfile-%d 0 100
return 0
}
-run_test 33 "abort recovery before client does replay"
+run_test 33a "abort recovery before client does replay"
test_34() {
multiop_bg_pause $DIR/$tfile O_c || return 2
}
run_test 43 "mds osc import failure during recovery; don't LBUG"
-test_44() {
+test_44a() { # was test_44
local at_max_saved=0
mdcdev=`lctl get_param -n devices | awk '/-mdc-/ {print $1}'`
[ $at_max_saved -ne 0 ] && at_max_set $at_max_saved mds
return 0
}
-run_test 44 "race in target handle connect"
+run_test 44a "race in target handle connect"
test_44b() {
mdcdev=`lctl get_param -n devices | awk '/-mdc-/ {print $1}'`
}
# file soft limit (start timer, timer goes off, stop timer)
-test_4() {
+test_4a() { # was test_4
chmod 0777 $DIR/$tdir
LIMIT=$(($IUNIT_SZ * 10)) # 10 iunits on mds
TESTFILE=$DIR/$tdir/$tfile-0
$LFS setquota -t -u $MAX_DQ_TIME $MAX_IQ_TIME $DIR
$LFS setquota -t -g $MAX_DQ_TIME $MAX_IQ_TIME $DIR
}
-run_test 4 "File soft limit (start timer, timer goes off, stop timer) ==="
+run_test 4a "File soft limit (start timer, timer goes off, stop timer) ==="
-test_4a() {
+test_4b() { # was test_4a
GR_STR1="1w3d"
GR_STR2="1000s"
GR_STR3="5s"
$LFS setquota -t -u $MAX_DQ_TIME $MAX_IQ_TIME $DIR
$LFS setquota -t -g $MAX_DQ_TIME $MAX_IQ_TIME $DIR
}
-run_test 4a "Grace time strings handling ==="
+run_test 4b "Grace time strings handling ==="
# chown & chgrp (chown & chgrp successfully even out of block/file quota)
test_5() {
}
pre_test_14
-test_14(){ # b=12223 -- setting quota on root
+test_14a() { # was test_14 b=12223 -- setting quota on root
TESTFILE="$DIR/$tdir/$tfile"
# out of root's file and block quota
rm -f $TESTFILE
sync; sleep 3; sync;
}
-run_test 14 "test setting quota on root ==="
+run_test 14a "test setting quota on root ==="
quota_set_version() {
local qver=$1
do_facet mds "lctl set_param mds.${FSNAME}-MDT*.quota_type=$qver"
}
-test_14a(){
+test_14b() { # was test_14a
# 1. check that required users exist
# 2. ensure that switch to new mode will start conversion
# 3. start quota in old mode and put some entries
$LFS setquota -u quota15_$i 0 0 0 0 $DIR || error "ifs setquota clear failed"
done
}
-run_test 14a "setting 30 quota entries in quota v1 file before conversion ==="
+run_test 14b "setting 30 quota entries in quota v1 file before conversion ==="
test_15(){
LIMIT=$((24 * 1024 * 1024 * 1024 * 1024)) # 24 TB
set -e
ONLY=${ONLY:-"$*"}
-# bug number for skipped test: 13297 2108 9789 3637 9789 3561 12622 13310 10764
-ALWAYS_EXCEPT=${ALWAYS_EXCEPT:-"27u 42a 42b 42c 42d 45 51d 74b 75 $SANITY_EXCEPT" }
+# bug number for skipped test: 13297 2108 9789 3637 9789 3561 12622 15528/2330 13310 10764
+ALWAYS_EXCEPT=${ALWAYS_EXCEPT:-"27u 42a 42b 42c 42d 45 51d 62 74b 75 $SANITY_EXCEPT" }
# UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
# Tests that fail on uml, maybe elsewhere, FIXME
}
run_test 50 "special situations: /proc symlinks ==============="
-test_51() {
+test_51a() { # was test_51
# bug 1516 - create an empty entry right after ".." then split dir
mkdir $DIR/d51
touch $DIR/d51/foo
echo
ls -l $DIR/d51 > /dev/null || error
}
-run_test 51 "special situations: split htree with empty entry =="
+run_test 51a "special situations: split htree with empty entry =="
export NUMTEST=70000
test_51b() {
}
run_test 55 "check iopen_connect_dentry() ======================"
-test_56() {
+test_56a() { # was test_56
rm -rf $DIR/d56
$SETSTRIPE -d $DIR
mkdir $DIR/d56
error "lfs getstripe --obd wrong: should not show file on other obd"
echo "lfs getstripe --obd passed."
}
-run_test 56 "check lfs getstripe ===================================="
+run_test 56a "check lfs getstripe ===================================="
NUMFILES=3
NUMDIRS=3
run_test 59 "verify cancellation of llog records async ========="
TEST60_HEAD="test_60 run $RANDOM"
-test_60() {
+test_60a() { # was test_60
[ ! -f run-llog.sh ] && skip "missing subtest run-llog.sh" && return
log "$TEST60_HEAD - from kernel mode"
sh run-llog.sh
}
-run_test 60 "llog sanity tests run from kernel module =========="
+run_test 60a "llog sanity tests run from kernel module =========="
test_60b() { # bug 6411
dmesg > $DIR/$tfile
}
# This test is now irrelevant (as of bug 10718 inclusion), we no longer
# match every page all of the time.
-#run_test 62 "verify obd_match failure doesn't LBUG (should -EIO)"
+run_test 62 "verify obd_match failure doesn't LBUG (should -EIO)"
# bug 2319 - oig_wait() interrupted causes crash because of invalid waitq.
-test_63() {
+test_63a() { # was test_63
MAX_DIRTY_MB=`lctl get_param -n osc.*.max_dirty_mb | head -n 1`
lctl set_param -n osc.*.max_dirty_mb 0
for i in `seq 10` ; do
lctl set_param -n osc.*.max_dirty_mb $MAX_DIRTY_MB
rm -f $DIR/f63 || true
}
-run_test 63 "Verify oig_wait interruption does not crash ======="
+run_test 63a "Verify oig_wait interruption does not crash ======="
# bug 2248 - async write errors didn't return to application on sync
# bug 3677 - async write errors left page locked
}
run_test 66 "update inode blocks count on client ==============="
-test_67() { # bug 3285 - supplementary group fails on MDS, passes on client
+test_67a() { # was test_67 bug 3285 - supplementary group fails on MDS, passes on client
[ "$RUNAS_ID" = "$UID" ] && skip "RUNAS_ID = UID = $UID -- skipping" && return
check_kernel_version 35 || return 0
mkdir $DIR/$tdir
[ "$GROUP_UPCALL" != "NONE" -a $RC -ne 0 ] && \
error "upcall failed" || true
}
-run_test 67 "supplementary group failure (should return error) ="
+run_test 67a "supplementary group failure (should return error) ="
cleanup_67b() {
set +vx
set -e
ONLY=${ONLY:-"$*"}
-# bug number for skipped test: 3192 12652 9977
-ALWAYS_EXCEPT=" 14b 14c 28 $SANITYN_EXCEPT"
+# bug number for skipped test: 3192 12652 15528/3811 9977 15528/11549
+ALWAYS_EXCEPT=" 14b 14c 19 28 29 $SANITYN_EXCEPT"
# UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
# bug number for skipped test: 12652 12652
done
rm $DIR1/f19b
}
-#run_test 19 "test concurrent uncached read races ==============="
+run_test 19 "test concurrent uncached read races ==============="
test_20() {
mkdir $DIR1/d20
wait
}
#bug 11549 - permanently turn test off in b1_5
-#run_test 29 "lock put race between glimpse and enqueue ========="
+run_test 29 "lock put race between glimpse and enqueue ========="
test_30() { #bug #11110
cp -f /bin/bash $DIR1/$tdir/bash