Whamcloud - gitweb
LU-6313 tests: more robust for scrub test_11
[fs/lustre-release.git] / lustre / tests / sanity-scrub.sh
index 14440d9..ef08fcf 100644 (file)
@@ -284,12 +284,8 @@ scrub_backup_restore() {
 }
 
 scrub_enable_auto() {
-       local n
-
-       for n in $(seq $MDSCOUNT); do
-               do_facet mds$n $LCTL set_param -n \
-                       osd-ldiskfs.$(facet_svc mds$n).auto_scrub 1
-       done
+       do_nodes $(comma_list $(mdts_nodes)) $LCTL set_param -n \
+               osd-ldiskfs.*.auto_scrub=1
 }
 
 full_scrub_ratio() {
@@ -297,22 +293,19 @@ full_scrub_ratio() {
                return
 
        local ratio=$1
-       local n
 
-       for n in $(seq $MDSCOUNT); do
-               do_facet mds$n $LCTL set_param -n \
-                       osd-ldiskfs.$(facet_svc mds$n).full_scrub_ratio $ratio
-       done
+       do_nodes $(comma_list $(mdts_nodes)) $LCTL set_param -n \
+               osd-ldiskfs.*.full_scrub_ratio=$ratio
 }
 
-full_scrub_speed() {
-       local speed=$1
-       local n
+full_scrub_threshold_rate() {
+       [[ $(lustre_version_code $SINGLEMDS) -le $(version_code 2.6.50) ]] &&
+               return
 
-       for n in $(seq $MDSCOUNT); do
-               do_facet mds$n $LCTL set_param -n \
-                       osd-ldiskfs.$(facet_svc mds$n).full_scrub_speed $speed
-       done
+       local rate=$1
+
+       do_nodes $(comma_list $(mdts_nodes)) $LCTL set_param -n \
+               osd-ldiskfs.*.full_scrub_threshold_rate=$rate
 }
 
 test_0() {
@@ -455,7 +448,7 @@ test_4b() {
        mount_client $MOUNT || error "(5) Fail to start client!"
        scrub_enable_auto
        full_scrub_ratio 10
-       full_scrub_speed 10000
+       full_scrub_threshold_rate 10000
        scrub_check_data 6
        sleep 3
 
@@ -521,7 +514,7 @@ test_4c() {
        mount_client $MOUNT || error "(5) Fail to start client!"
        scrub_enable_auto
        full_scrub_ratio 2
-       full_scrub_speed 20
+       full_scrub_threshold_rate 20
        scrub_check_data 6
        sleep 3
 
@@ -954,14 +947,13 @@ test_11() {
 
        # 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 }')
@@ -987,12 +979,11 @@ test_12() {
        check_mount_and_prep
        $SETSTRIPE -c 1 -i 0 $DIR/$tdir
 
-       local count=$(precreated_ost_obj_count 0 0)
-
        #define OBD_FAIL_OSD_COMPAT_INVALID_ENTRY               0x195
        do_facet ost1 $LCTL set_param fail_loc=0x195
-       createmany -o $DIR/$tdir/f $((count + 32))
+       local count=$(precreated_ost_obj_count 0 0)
 
+       createmany -o $DIR/$tdir/f $((count + 32))
        umount_client $MOUNT || error "(1) Fail to stop client!"
 
        stop ost1 || error "(2) Fail to stop ost1"
@@ -1026,10 +1017,10 @@ test_13() {
        check_mount_and_prep
        $SETSTRIPE -c 1 -i 0 $DIR/$tdir
 
-       local count=$(precreated_ost_obj_count 0 0)
-
        #define OBD_FAIL_OSD_COMPAT_NO_ENTRY            0x196
        do_facet ost1 $LCTL set_param fail_loc=0x196
+       local count=$(precreated_ost_obj_count 0 0)
+
        createmany -o $DIR/$tdir/f $((count + 32))
        do_facet ost1 $LCTL set_param fail_loc=0
 
@@ -1059,10 +1050,10 @@ test_14() {
        check_mount_and_prep
        $SETSTRIPE -c 1 -i 0 $DIR/$tdir
 
-       local count=$(precreated_ost_obj_count 0 0)
-
        #define OBD_FAIL_OSD_COMPAT_NO_ENTRY            0x196
        do_facet ost1 $LCTL set_param fail_loc=0x196
+       local count=$(precreated_ost_obj_count 0 0)
+
        createmany -o $DIR/$tdir/f $((count + 32))
        do_facet ost1 $LCTL set_param fail_loc=0