set -e
ONLY=${ONLY:-"$*"}
-ALWAYS_EXCEPT="$SANITY_SCRUB_EXCEPT"
+#Bug number for excepting test 6705
+ALWAYS_EXCEPT="$SANITY_SCRUB_EXCEPT 1c 5 10"
+
[ "$SLOW" = "no" ] && EXCEPT_SLOW=""
# UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
test_1a() {
scrub_prep 0
echo "start $SINGLEMDS without disabling OI scrub"
- start $SINGLEMDS $MDT_DEVNAME $MOUNT_OPTS_SCRUB > /dev/null ||
- error "(1) Fail to start MDS!"
+ scrub_start_mds 1 "$MOUNT_OPTS_SCRUB"
local FLAGS=$($SHOW_SCRUB | awk '/^flags/ { print $2 }')
[ -z "$FLAGS" ] || error "(3) Expect empty flags, but got '$FLAGS'"
scrub_prep 1000
scrub_backup_restore 1
- echo "starting MDTs with OI scrub disabled"
+ echo "starting MDTs with OI scrub disabled (1)"
scrub_start_mds 2 "$MOUNT_OPTS_NOSCRUB"
scrub_check_status 3 init
scrub_check_flags 4 inconsistent
do_nodes $(comma_list $(mdts_nodes)) \
$LCTL set_param fail_loc=0 fail_val=0
- echo "starting MDTs with OI scrub disabled"
+ echo "starting MDTs with OI scrub disabled (2)"
scrub_start_mds 10 "$MOUNT_OPTS_NOSCRUB"
scrub_check_status 11 crashed
scrub_stop_mds 12
test_10a() {
scrub_prep 0
scrub_backup_restore 1
- echo "starting mds$n with OI scrub disabled"
+ echo "starting mds$n with OI scrub disabled (1)"
scrub_start_mds 2 "$MOUNT_OPTS_NOSCRUB"
scrub_check_flags 4 inconsistent
mount_client $MOUNT || error "(5) Fail to start client!"
scrub_check_status 7 scanning
umount_client $MOUNT || error "(8) Fail to stop client!"
scrub_stop_mds 9
- echo "starting MDTs with OI scrub disabled"
+ echo "starting MDTs with OI scrub disabled (2)"
scrub_start_mds 10 "$MOUNT_OPTS_NOSCRUB"
scrub_check_status 11 paused
scrub_stop_mds 12
# OI scrub should skip the new created objects for the first accessing
# notice we're creating a new llog for every OST on every startup
- # new features can make this even less stable, so we only check
- # that the number of skipped files is less than 2x the number of files
- local MAXIMUM=$((CREATED * 2))
+ # new features can make this even less stable, so we only check that
+ # the number of skipped files is more than the number or known created
local MINIMUM=$((CREATED + 1)) # files + directory
for n in $(seq $MDSCOUNT); do
local SKIPPED=$(scrub_status $n | awk '/^noscrub/ { print $2 }')
- [ $SKIPPED -ge $MAXIMUM -o $SKIPPED -lt $MINIMUM ] &&
- error "(5) Expect [ $MINIMUM , $MAXIMUM ) objects" \
+ [ $SKIPPED -lt $MINIMUM ] &&
+ error "(5) Expect at least $MINIMUM objects" \
"skipped on mds$n, but got $SKIPPED"
checked0[$n]=$(scrub_status $n | awk '/^checked/ { print $2 }')