#run_test 32b "lockless i/o"
print_jbd_stat () {
- local dev
- local mdts=$(get_facets MDS)
- local varcvs
- local mds
-
- local stat=0
- for mds in ${mdts//,/ }; do
- varsvc=${mds}_svc
- dev=$(basename $(do_facet $mds "lctl get_param -n osd*.${!varsvc}.mntdev|\
- xargs readlink -f" ))
- val=$(do_facet $mds "cat /proc/fs/jbd*/${dev}{,:*,-*}/info 2>/dev/null |
- head -n1")
- val=${val%% *};
- stat=$(( stat + val))
- done
- echo $stat
+ local mdts=$(get_facets MDS)
+ local stat=0
+ local varsvc
+ local dev
+ local mds
+
+ for mds in ${mdts//,/ }; do
+ varsvc=${mds}_svc
+
+ dev=$(basename $(do_facet $mds "lctl get_param -n \
+ osd*.${!varsvc}.mntdev | xargs readlink -f"))
+ val=$(do_facet $mds "cat /proc/fs/jbd*/${dev}{,:*,-*}/info \
+ 2>/dev/null | head -n1")
+ val=${val%% *};
+ stat=$((stat + val))
+ done
+ echo $stat
}
# commit on sharing tests
}
run_test 77o "Changing rank should not panic"
+test_77q() {
+ local i
+
+ (( $MDS1_VERSION > $(version_code 2.14.54) )) ||
+ skip "need MDS >= 2.14.54"
+
+ do_facet mds1 $LCTL set_param mds.MDS.mdt.nrs_policies="tbf"
+ stack_trap "do_facet mds1 $LCTL set_param mds.MDS.mdt.nrs_policies=fifo"
+
+ for i in {1..50}; do
+ local pid1 pid2
+
+ do_facet mds1 $LCTL set_param mds.MDS.mdt.nrs_tbf_rule="'start rule77q_1 uid={500}&gid={500} rate=100'" &
+ pid1=$!
+ do_facet mds1 $LCTL set_param mds.MDS.mdt.nrs_tbf_rule="'start rule77q_2 uid={1000}&gid={1000} rate=100'" &
+ pid2=$!
+ wait $pid1 || error "$i: Fail to start TBF rule 'rule77q_1'"
+ wait $pid2 || error "$i: Fail to start TBF rule 'rule77q_2'"
+
+ do_facet mds1 $LCTL set_param mds.MDS.mdt.nrs_tbf_rule="'stop rule77q_1'" &
+ pid1=$!
+ do_facet mds1 $LCTL set_param mds.MDS.mdt.nrs_tbf_rule="'stop rule77q_2'" &
+ pid2=$!
+ wait $pid1 || error "$i: Fail to stop TBF rule 'rule77q_1'"
+ wait $pid2 || error "$i: Fail to stop TBF rule 'rule77q_2'"
+ done
+}
+run_test 77q "Parallel TBF rule definitions should not panic"
+
test_78() { #LU-6673
local rc
local file
local pid
+ mkdir_on_mdt0 $DIR1/$tdir
mkdir -p $DIR1/$tdir/dir
createmany -o $DIR1/$tdir/dir/f 10 ||
error "create files under remote dir failed $i"
}
run_test 111 "A racy rename/link an open file should not cause fs corruption"
+test_112() {
+ (( MDSCOUNT >= 2 )) ||
+ skip "We need at least 2 MDTs for this test"
+
+ (( MDS1_VERSION >= $(version_code 2.14.54) )) ||
+ skip "Need server version at least 2.14.54"
+
+ local rr
+ local count
+
+ rr=$($LCTL get_param -n lmv.*.qos_threshold_rr | head -n1)
+ rr=${rr%%%}
+ stack_trap "$LCTL set_param lmv.*.qos_threshold_rr=$rr > /dev/null"
+
+ mkdir -p $DIR1/$tdir/s1/s2 || error "mkdir s2 failed"
+ $LFS mkdir -i 0 $DIR1/$tdir/s1/s2/s3 || error "mkdir s3 failed"
+ $LFS setdirstripe -D -i -1 --max-inherit-rr=0 $DIR1/$tdir/s1/s2/s3 ||
+ error "setdirstripe s3 failed"
+ $LCTL set_param lmv.*.qos_threshold_rr=90
+ mkdir $DIR2/$tdir/s1/s2/s3/d{1..64}
+ count=$($LFS getstripe -m $DIR2/$tdir/s1/s2/s3/d* | grep ^0 | wc -l)
+ (( count == 64 )) || error "only $count subdirs created on MDT0"
+
+ $LFS setdirstripe -D -i -1 --max-inherit-rr=3 $DIR1/$tdir/s1/s2/s3 ||
+ error "setdirstripe s3 failed"
+ mkdir $DIR2/$tdir/s1/s2/s3/s{1..64}
+ count=$($LFS getstripe -m $DIR2/$tdir/s1/s2/s3/s* | grep ^0 | wc -l)
+ (( count == 64 / MDSCOUNT )) || error "$count subdirs created on MDT0"
+}
+run_test 112 "update max-inherit in default LMV"
+
log "cleanup: ======================================================"
# kill and wait in each test only guarentee script finish, but command in script