}
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() {
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() {
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
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
# 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 }')