set -e
ONLY=${ONLY:-"$*"}
-#Bug number for excepting test 6705
-ALWAYS_EXCEPT="$SANITY_SCRUB_EXCEPT 1c 5 10"
+ALWAYS_EXCEPT="$SANITY_SCRUB_EXCEPT"
[ "$SLOW" = "no" ] && EXCEPT_SLOW=""
# UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
require_dsh_mds || exit 0
+load_modules
+
+if ! check_versions; then
+ skip "It is NOT necessary to test scrub under interoperation mode"
+ exit 0
+fi
+
+[ $(facet_fstype $SINGLEMDS) != "ldiskfs" ] &&
+ skip "test OI scrub only for ldiskfs" && exit 0
+
+[ $(facet_fstype ost1) != "ldiskfs" ] &&
+ skip "test OI scrub only for ldiskfs" && exit 0
+
+[[ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.2.90) ]] &&
+ skip "Need MDS version at least 2.2.90" && exit 0
+
SAVED_MDSSIZE=${MDSSIZE}
SAVED_OSTSIZE=${OSTSIZE}
SAVED_OSTCOUNT=${OSTCOUNT}
formatall
setupall
-[ $(facet_fstype $SINGLEMDS) != "ldiskfs" ] &&
- skip "test OI scrub only for ldiskfs" && check_and_cleanup_lustre &&
- exit 0
-[ $(facet_fstype ost1) != "ldiskfs" ] &&
- skip "test OI scrub only for ldiskfs" && check_and_cleanup_lustre &&
- exit 0
-[[ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.2.90) ]] &&
- skip "Need MDS version at least 2.2.90" && check_and_cleanup_lustre &&
- exit 0
-
[[ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.3.90) ]] &&
ALWAYS_EXCEPT="$ALWAYS_EXCEPT 1a"
echo "starting MDTs with OI scrub disabled"
scrub_start_mds 2 "$MOUNT_OPTS_NOSCRUB"
scrub_check_status 3 init
- scrub_check_flags 4 inconsistent
+ scrub_check_flags 4 recreated,inconsistent
}
#run_test 3 "Do not trigger OI scrub when MDT mounts if 'noscrub' specified"
scrub_backup_restore 1
echo "starting MDTs with OI scrub disabled"
scrub_start_mds 2 "$MOUNT_OPTS_NOSCRUB"
- scrub_check_flags 4 inconsistent
+ scrub_check_flags 4 recreated,inconsistent
mount_client $MOUNT || error "(5) Fail to start client!"
scrub_enable_auto
full_scrub_ratio 0
scrub_backup_restore 1
echo "starting MDTs with OI scrub disabled"
scrub_start_mds 2 "$MOUNT_OPTS_NOSCRUB"
- scrub_check_flags 4 inconsistent
+ scrub_check_flags 4 recreated,inconsistent
mount_client $MOUNT || error "(5) Fail to start client!"
scrub_enable_auto
full_scrub_ratio 10
scrub_backup_restore 1
echo "starting MDTs with OI scrub disabled"
scrub_start_mds 2 "$MOUNT_OPTS_NOSCRUB"
- scrub_check_flags 4 inconsistent
+ scrub_check_flags 4 recreated,inconsistent
mount_client $MOUNT || error "(5) Fail to start client!"
scrub_enable_auto
full_scrub_ratio 2
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
+ scrub_check_flags 4 recreated,inconsistent
mount_client $MOUNT || error "(5) Fail to start client!"
scrub_enable_auto
scrub_backup_restore 1
echo "starting MDTs with OI scrub disabled"
scrub_start_mds 2 "$MOUNT_OPTS_NOSCRUB"
- scrub_check_flags 4 inconsistent
+ scrub_check_flags 4 recreated,inconsistent
mount_client $MOUNT || error "(5) Fail to start client!"
scrub_enable_auto
scrub_backup_restore 1
echo "starting MDTs with OI scrub disabled"
scrub_start_mds 2 "$MOUNT_OPTS_NOSCRUB"
- scrub_check_flags 4 inconsistent
+ scrub_check_flags 4 recreated,inconsistent
mount_client $MOUNT || error "(5) Fail to start client!"
scrub_enable_auto
done
scrub_check_status 8 scanning
- scrub_check_flags 9 inconsistent,auto
+ scrub_check_flags 9 recreated,inconsistent,auto
do_nodes $(comma_list $(mdts_nodes)) \
$LCTL set_param fail_loc=0 fail_val=0
scrub_backup_restore 1
echo "starting MDTs with OI scrub disabled"
scrub_start_mds 2 "$MOUNT_OPTS_NOSCRUB"
- scrub_check_flags 4 inconsistent
+ scrub_check_flags 4 recreated,inconsistent
#define OBD_FAIL_OSD_SCRUB_DELAY 0x190
do_nodes $(comma_list $(mdts_nodes)) \
echo "starting MDTs with OI scrub disabled"
scrub_start_mds 2 "$MOUNT_OPTS_NOSCRUB"
- scrub_check_flags 4 inconsistent
+ scrub_check_flags 4 recreated,inconsistent
local BASE_SPEED1=100
local RUN_TIME1=10
scrub_backup_restore 1
echo "starting mds$n with OI scrub disabled (1)"
scrub_start_mds 2 "$MOUNT_OPTS_NOSCRUB"
- scrub_check_flags 4 inconsistent
+ scrub_check_flags 4 recreated,inconsistent
mount_client $MOUNT || error "(5) Fail to start client!"
scrub_enable_auto
scrub_backup_restore 1
echo "starting MDTs with OI scrub disabled"
scrub_start_mds 2 "$MOUNT_OPTS_NOSCRUB"
- scrub_check_flags 4 inconsistent
+ scrub_check_flags 4 recreated,inconsistent
#define OBD_FAIL_OSD_SCRUB_DELAY 0x190
do_nodes $(comma_list $(mdts_nodes)) \
run_test 14 "OI scrub can repair objects under lost+found"
test_15() {
- # skip test_15 for LU-4182
- [ $MDSCOUNT -ge 2 ] && skip "skip now for >= 2 MDTs" && return
local server_version=$(lustre_version_code $SINGLEMDS)
scrub_prep 20
scrub_backup_restore 1
echo "starting MDTs with OI scrub disabled"
scrub_start_mds 2 "$MOUNT_OPTS_NOSCRUB"
scrub_check_status 3 init
- scrub_check_flags 4 inconsistent
+ scrub_check_flags 4 recreated,inconsistent
# run under dryrun mode
if [ $server_version -lt $(version_code 2.5.58) ]; then
scrub_start 5 --dryrun
fi
scrub_check_status 6 completed
- scrub_check_flags 7 inconsistent
+ scrub_check_flags 7 recreated,inconsistent
scrub_check_params 8 dryrun
scrub_check_repaired 9 20
scrub_start 10 --dryrun
fi
scrub_check_status 11 completed
- scrub_check_flags 12 inconsistent
+ scrub_check_flags 12 recreated,inconsistent
scrub_check_params 13 dryrun
scrub_check_repaired 14 20