X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Fsanity-scrub.sh;h=a137f87d863235c83e9235054675cce0db3ac2ed;hb=842bda9c5b41eef9e43dc3e00f05767147611677;hp=5b3e2a7b8324c2aa123f4ecec7a871c69c5331a8;hpb=4c45115bdf2c5145ca3779c38a06e90024f013f0;p=fs%2Flustre-release.git diff --git a/lustre/tests/sanity-scrub.sh b/lustre/tests/sanity-scrub.sh index 5b3e2a7..a137f87 100644 --- a/lustre/tests/sanity-scrub.sh +++ b/lustre/tests/sanity-scrub.sh @@ -128,13 +128,8 @@ scrub_prep() { echo "preparing... $(date)" for n in $(seq $MDSCOUNT); do echo "creating $nfiles files on mds$n" - if [ $n -eq 1 ]; then - mkdir $DIR/$tdir/mds$n || - error "Failed to create directory mds$n" - else - $LFS mkdir -i $((n - 1)) $DIR/$tdir/mds$n || - error "Failed to create remote directory mds$n" - fi + test_mkdir -i $((n - 1)) $DIR/$tdir/mds$n || + error "Failed to create directory mds$n" cp $LUSTRE/tests/*.sh $DIR/$tdir/mds$n || error "Failed to copy files to mds$n" mkdir -p $DIR/$tdir/mds$n/d_$tfile || @@ -287,7 +282,7 @@ scrub_backup_restore() { for n in $(seq $MDSCOUNT); do mds_backup_restore mds$n $igif || - error "(error_id) Backup/restore on mds$n failed" + error "($error_id) Backup/restore on mds$n failed" done } @@ -430,7 +425,7 @@ test_4a() { local -a updated0 for n in $(seq $MDSCOUNT); do updated0[$n]=$(scrub_status $n | - awk '/^sf_items_updated_prior/ { print $2 }') + awk '/^prior_updated/ { print $2 }') done scrub_check_data2 sanity-scrub.sh 9 @@ -439,7 +434,7 @@ test_4a() { local -a updated1 for n in $(seq $MDSCOUNT); do updated1[$n]=$(scrub_status $n | - awk '/^sf_items_updated_prior/ { print $2 }') + awk '/^prior_updated/ { print $2 }') [ ${updated0[$n]} -eq ${updated1[$n]} ] || error "(10) NOT auto trigger full scrub as expected" done @@ -465,7 +460,11 @@ test_4b() { local -a updated0 for n in $(seq $MDSCOUNT); do updated0[$n]=$(scrub_status $n | - awk '/^sf_items_updated_prior/ { print $2 }') + awk '/^prior_updated/ { print $2 }') + + echo "OI scrub on MDS$n status for the 1st time:" + do_facet mds$n $LCTL get_param -n \ + osd-ldiskfs.$(facet_svc mds$n).oi_scrub done scrub_check_data2 sanity-scrub.sh 9 @@ -477,7 +476,12 @@ test_4b() { local -a updated1 for n in $(seq $MDSCOUNT); do updated1[$n]=$(scrub_status $n | - awk '/^sf_items_updated_prior/ { print $2 }') + awk '/^prior_updated/ { print $2 }') + + echo "OI scrub on MDS$n status for the 2nd time:" + do_facet mds$n $LCTL get_param -n \ + osd-ldiskfs.$(facet_svc mds$n).oi_scrub + [ ${updated0[$n]} -lt ${updated1[$n]} ] || error "(12) Auto trigger full scrub unexpectedly" done @@ -493,7 +497,12 @@ test_4b() { for n in $(seq $MDSCOUNT); do updated0[$n]=$(scrub_status $n | - awk '/^sf_items_updated_prior/ { print $2 }') + awk '/^prior_updated/ { print $2 }') + + echo "OI scrub on MDS$n status for the 3rd time:" + do_facet mds$n $LCTL get_param -n \ + osd-ldiskfs.$(facet_svc mds$n).oi_scrub + [ ${updated0[$n]} -gt ${updated1[$n]} ] || error "(16) Auto trigger full scrub unexpectedly" done @@ -505,9 +514,14 @@ test_4b() { for n in $(seq $MDSCOUNT); do updated1[$n]=$(scrub_status $n | - awk '/^sf_items_updated_prior/ { print $2 }') - [ ${updated0[$n]} -eq ${updated1[$n]} ] || + awk '/^prior_updated/ { print $2 }') + [ ${updated0[$n]} -eq ${updated1[$n]} ] || { + echo "OI scrub on MDS$n status for the 4th time:" + do_facet mds$n $LCTL get_param -n \ + osd-ldiskfs.$(facet_svc mds$n).oi_scrub + error "(18) NOT auto trigger full scrub as expected" + } done } run_test 4b "Auto trigger OI scrub if bad OI mapping was found (2)" @@ -531,7 +545,11 @@ test_4c() { local -a updated0 for n in $(seq $MDSCOUNT); do updated0[$n]=$(scrub_status $n | - awk '/^sf_items_updated_prior/ { print $2 }') + awk '/^prior_updated/ { print $2 }') + + echo "OI scrub on MDS$n status for the 1st time:" + do_facet mds$n $LCTL get_param -n \ + osd-ldiskfs.$(facet_svc mds$n).oi_scrub done scrub_check_data2 sanity-scrub.sh 9 @@ -543,7 +561,12 @@ test_4c() { local -a updated1 for n in $(seq $MDSCOUNT); do updated1[$n]=$(scrub_status $n | - awk '/^sf_items_updated_prior/ { print $2 }') + awk '/^prior_updated/ { print $2 }') + + echo "OI scrub on MDS$n status for the 2nd time:" + do_facet mds$n $LCTL get_param -n \ + osd-ldiskfs.$(facet_svc mds$n).oi_scrub + [ ${updated0[$n]} -lt ${updated1[$n]} ] || error "(12) Auto trigger full scrub unexpectedly" done @@ -559,7 +582,12 @@ test_4c() { for n in $(seq $MDSCOUNT); do updated0[$n]=$(scrub_status $n | - awk '/^sf_items_updated_prior/ { print $2 }') + awk '/^prior_updated/ { print $2 }') + + echo "OI scrub on MDS$n status for the 3rd time:" + do_facet mds$n $LCTL get_param -n \ + osd-ldiskfs.$(facet_svc mds$n).oi_scrub + [ ${updated0[$n]} -gt ${updated1[$n]} ] || error "(16) Auto trigger full scrub unexpectedly" done @@ -571,9 +599,14 @@ test_4c() { for n in $(seq $MDSCOUNT); do updated1[$n]=$(scrub_status $n | - awk '/^sf_items_updated_prior/ { print $2 }') - [ ${updated0[$n]} -eq ${updated1[$n]} ] || + awk '/^prior_updated/ { print $2 }') + [ ${updated0[$n]} -eq ${updated1[$n]} ] || { + echo "OI scrub on MDS$n status for the 4th time:" + do_facet mds$n $LCTL get_param -n \ + osd-ldiskfs.$(facet_svc mds$n).oi_scrub + error "(18) NOT auto trigger full scrub as expected" + } done } run_test 4c "Auto trigger OI scrub if bad OI mapping was found (3)" @@ -590,12 +623,12 @@ test_5() { scrub_check_flags 4 recreated,inconsistent mount_client $MOUNT || error "(5) Fail to start client!" scrub_enable_auto + full_scrub_ratio 0 #define OBD_FAIL_OSD_SCRUB_DELAY 0x190 do_nodes $(comma_list $(mdts_nodes)) \ $LCTL set_param fail_val=3 fail_loc=0x190 - full_scrub_ratio 0 scrub_check_data 6 umount_client $MOUNT || error "(7) Fail to stop client!" scrub_check_status 8 scanning @@ -657,12 +690,12 @@ test_6() { scrub_check_flags 4 recreated,inconsistent mount_client $MOUNT || error "(5) Fail to start client!" scrub_enable_auto + full_scrub_ratio 0 #define OBD_FAIL_OSD_SCRUB_DELAY 0x190 do_nodes $(comma_list $(mdts_nodes)) \ $LCTL set_param fail_val=2 fail_loc=0x190 - full_scrub_ratio 0 scrub_check_data 6 # Sleep 5 sec to guarantee at least one object processed by OI scrub @@ -735,12 +768,12 @@ test_7() { scrub_check_flags 4 recreated,inconsistent mount_client $MOUNT || error "(5) Fail to start client!" scrub_enable_auto + full_scrub_ratio 0 #define OBD_FAIL_OSD_SCRUB_DELAY 0x190 do_nodes $(comma_list $(mdts_nodes)) \ $LCTL set_param fail_val=3 fail_loc=0x190 - full_scrub_ratio 0 scrub_check_data 6 local n @@ -874,12 +907,12 @@ test_10a() { scrub_check_flags 4 recreated,inconsistent mount_client $MOUNT || error "(5) Fail to start client!" scrub_enable_auto + full_scrub_ratio 0 #define OBD_FAIL_OSD_SCRUB_DELAY 0x190 do_nodes $(comma_list $(mdts_nodes)) \ $LCTL set_param fail_val=1 fail_loc=0x190 - full_scrub_ratio 0 scrub_check_data 6 scrub_check_status 7 scanning umount_client $MOUNT || error "(8) Fail to stop client!" @@ -938,7 +971,7 @@ test_11() { check_mount_and_prep for n in $(seq $MDSCOUNT); do - $LFS mkdir -i $((n - 1)) $DIR/$tdir/mds$n || + test_mkdir -i $((n - 1)) $DIR/$tdir/mds$n || error "(1) Fail to mkdir $DIR/$tdir/mds$n" createmany -o $DIR/$tdir/mds$n/f $CREATED || @@ -1087,8 +1120,6 @@ test_14() { 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