set -e
-# bug number: 13129 13129 6088 10124
-ALWAYS_EXCEPT="2 3 8 15c $REPLAY_DUAL_EXCEPT"
+# bug number: 13129 13129 10124
+ALWAYS_EXCEPT="2 3 15c $REPLAY_DUAL_EXCEPT"
SAVE_PWD=$PWD
PTLDEBUG=${PTLDEBUG:--1}
-LUSTRE=${LUSTRE:-`dirname $0`/..}
+LUSTRE=${LUSTRE:-$(cd $(dirname $0)/..; echo $PWD)}
SETUP=${SETUP:-""}
CLEANUP=${CLEANUP:-""}
MOUNT_2=${MOUNT_2:-"yes"}
. $LUSTRE/tests/test-framework.sh
+if [ "$FAILURE_MODE" = "HARD" ] && mixed_ost_devs; then
+ CONFIG_EXCEPTIONS="17"
+ echo -n "Several ost services on one ost node are used with FAILURE_MODE=$FAILURE_MODE. "
+ echo "Except the tests: $CONFIG_EXCEPTIONS"
+ ALWAYS_EXCEPT="$ALWAYS_EXCEPT $CONFIG_EXCEPTIONS"
+fi
+
init_test_env $@
. ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh}
-#
+remote_mds_nodsh && skip "remote MDS with nodsh" && exit 0
+
[ "$SLOW" = "no" ] && EXCEPT_SLOW="1 2 3 4 5 14"
build_test_filter
cleanup_and_setup_lustre
+assert_DIR
rm -rf $DIR/[df][0-9]*
[ "$DAEMONFILE" ] && $LCTL debug_daemon start $DAEMONFILE $DAEMONSIZE
}
run_test 14 "timeouts waiting for lost client during replay"
-test_15() {
+test_15a() { # was test_15
replay_barrier $SINGLEMDS
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 $SINGLEMDS
- echo "data" > "$MOUNT2/${tfile}-m2"
-
- umount $MOUNT2
- facet_failover $SINGLEMDS
- df $MOUNT || return 1
-
- ost_last_id=`lctl get_param -n obdfilter.*.last_id`
- mds_last_id=`lctl get_param -n 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 $SINGLEMDS
- echo "data" > "$MOUNT2/${tfile}-m2"
- umount $MOUNT2
-
- do_facet ost1 "lctl set_param fail_loc=0x80000802"
- facet_failover $SINGLEMDS
-
- 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 $SINGLEMDS
run_test 16 "fail MDS during recovery (3571)"
test_17() {
+ remote_ost_nodsh && skip "remote OST with nodsh" && return 0
+
createmany -o $MOUNT1/$tfile- 25
createmany -o $MOUNT2/$tfile-2- 1