X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Fsanity-scrub.sh;h=76727d91be3cac58ea6cb3038fc68a9d12a30d43;hb=6e6357dbf9a14aaea459f460dbe4f93e52c814d4;hp=a6754e99423e6cb613d064fb83a38b7d5003d066;hpb=dee5f24114531ec34fc56ce2826ada9e5690aabc;p=fs%2Flustre-release.git diff --git a/lustre/tests/sanity-scrub.sh b/lustre/tests/sanity-scrub.sh index a6754e9..76727d9 100644 --- a/lustre/tests/sanity-scrub.sh +++ b/lustre/tests/sanity-scrub.sh @@ -84,6 +84,46 @@ run_test 0 "Do not auto trigger OI scrub for non-backup/restore case" 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!" + + local STATUS=$($SHOW_SCRUB | awk '/^status/ { print $2 }') + [ "$STATUS" == "init" ] || + error "(2) Expect 'init', but got '$STATUS'" + + local FLAGS=$($SHOW_SCRUB | awk '/^flags/ { print $2 }') + [ -z "$FLAGS" ] || error "(3) Expect empty flags, but got '$FLAGS'" + + mount_client $MOUNT || error "(4) Fail to start client!" + + #define OBD_FAIL_OSD_FID_MAPPING 0x193 + do_facet $SINGLEMDS $LCTL set_param fail_loc=0x193 + # update .lustre OI mapping + touch $MOUNT/.lustre + do_facet $SINGLEMDS $LCTL set_param fail_loc=0 + + umount_client $MOUNT || error "(5) Fail to stop client!" + + echo "stop $SINGLEMDS" + stop $SINGLEMDS > /dev/null || error "(6) Fail to stop MDS!" + + echo "start $SINGLEMDS with disabling OI scrub" + start $SINGLEMDS $MDT_DEVNAME $MOUNT_OPTS_NOSCRUB > /dev/null || + error "(7) Fail to start MDS!" + + local STATUS=$($SHOW_SCRUB | awk '/^status/ { print $2 }') + [ "$STATUS" == "init" ] || + error "(8) Expect 'init', but got '$STATUS'" + + local FLAGS=$($SHOW_SCRUB | awk '/^flags/ { print $2 }') + [ "$FLAGS" == "inconsistent" ] || + error "(9) Expect 'inconsistent', but got '$FLAGS'" +} +run_test 1a "Auto trigger initial OI scrub when server mounts" + +test_1b() { + scrub_prep 0 mds_remove_ois || error "(1) Fail to remove/recreate!" echo "start $SINGLEMDS without disabling OI scrub" @@ -100,9 +140,9 @@ test_1a() { diff -q $LUSTRE/tests/test-framework.sh $DIR/$tdir/test-framework.sh || error "(5) File diff failed unexpected!" } -run_test 1a "Trigger OI scrub when MDT mounts for OI files remove/recreate case" +run_test 1b "Trigger OI scrub when MDT mounts for OI files remove/recreate case" -test_1b() { +test_1c() { local index # OI files to be removed: @@ -135,7 +175,7 @@ test_1b() { error "(6) Expect empty flags, but got '$FLAGS'" done } -run_test 1b "Auto detect kinds of OI file(s) removed/recreated cases" +run_test 1c "Auto detect kinds of OI file(s) removed/recreated cases" test_2() { scrub_prep 0 @@ -704,7 +744,7 @@ test_11() { # that the number of skipped files is less than 1.5x the number of files local MAXIMUM=$((CREATED * 3 / 2)) local MINIMUM=$((CREATED + 1)) # files + directory - [ $SKIPPED -ge $MAXIMUM -o $SKIPPED -lt $MINIMUM] && + [ $SKIPPED -ge $MAXIMUM -o $SKIPPED -lt $MINIMUM ] && error "(5) Expect [ $MINIMUM , $MAXIMUM ) objects skipped, got $SKIPPED" # reset OI scrub start point by force @@ -723,14 +763,6 @@ test_11() { } run_test 11 "OI scrub skips the new created objects only once" -# restore the ${facet}_MKFS_OPTS variables -for facet in MGS MDS OST; do - opts=SAVED_${facet}_MKFS_OPTS - if [[ -n ${!opts} ]]; then - eval ${facet}_MKFS_OPTS=\"${!opts}\" - fi -done - # restore MDS/OST size MDSSIZE=${SAVED_MDSSIZE} OSTSIZE=${SAVED_OSTSIZE}