X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Ftests%2Fsanityn.sh;h=a0bfb327959983ea280faef386b6e41e785fc4d8;hp=21caf70ca660b6ab99fb6324333b89a76a39d67e;hb=7fa66448c2f51775fbbd4f50d114b4ca64e59576;hpb=3fcefcaafcdbc532109042f993a0f28f7f553cf3 diff --git a/lustre/tests/sanityn.sh b/lustre/tests/sanityn.sh index 21caf70..a0bfb32 100755 --- a/lustre/tests/sanityn.sh +++ b/lustre/tests/sanityn.sh @@ -3,8 +3,8 @@ set -e ONLY=${ONLY:-"$*"} -# bug number for skipped test: 3192 LU-1205 15528/3811 9977 15528/11549 18080 -ALWAYS_EXCEPT=" 14b 18c 19 28 29 35 $SANITYN_EXCEPT" +# bug number for skipped test: LU-1205 9977/LU-7105 LU-9452 +ALWAYS_EXCEPT=" 18c 28 29 $SANITYN_EXCEPT" # UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT! SRCDIR=$(dirname $0) @@ -745,42 +745,42 @@ enable_lockless_truncate() { test_32a() { # bug 11270 local p="$TMP/$TESTSUITE-$TESTNAME.parameters" save_lustre_params client "osc.*.lockless_truncate" > $p - cancel_lru_locks osc - enable_lockless_truncate 1 - rm -f $DIR1/$tfile - lfs setstripe -c -1 $DIR1/$tfile - dd if=/dev/zero of=$DIR1/$tfile count=$OSTCOUNT bs=$STRIPE_BYTES > \ - /dev/null 2>&1 - clear_osc_stats - - log "checking cached lockless truncate" - $TRUNCATE $DIR1/$tfile 8000000 - $CHECKSTAT -s 8000000 $DIR2/$tfile || error "wrong file size" - [ $(calc_osc_stats lockless_truncate) -ne 0 ] || + cancel_lru_locks osc + enable_lockless_truncate 1 + rm -f $DIR1/$tfile + lfs setstripe -c -1 $DIR1/$tfile + dd if=/dev/zero of=$DIR1/$tfile count=$OSTCOUNT bs=$STRIPE_BYTES > \ + /dev/null 2>&1 + clear_stats osc.*.osc_stats + + log "checking cached lockless truncate" + $TRUNCATE $DIR1/$tfile 8000000 + $CHECKSTAT -s 8000000 $DIR2/$tfile || error "wrong file size" + [ $(calc_stats osc.*.osc_stats lockless_truncate) -ne 0 ] || error "cached truncate isn't lockless" - log "checking not cached lockless truncate" - $TRUNCATE $DIR2/$tfile 5000000 - $CHECKSTAT -s 5000000 $DIR1/$tfile || error "wrong file size" - [ $(calc_osc_stats lockless_truncate) -ne 0 ] || + log "checking not cached lockless truncate" + $TRUNCATE $DIR2/$tfile 5000000 + $CHECKSTAT -s 5000000 $DIR1/$tfile || error "wrong file size" + [ $(calc_stats osc.*.osc_stats lockless_truncate) -ne 0 ] || error "not cached truncate isn't lockless" - log "disabled lockless truncate" - enable_lockless_truncate 0 - clear_osc_stats - $TRUNCATE $DIR2/$tfile 3000000 - $CHECKSTAT -s 3000000 $DIR1/$tfile || error "wrong file size" - [ $(calc_osc_stats lockless_truncate) -eq 0 ] || - error "lockless truncate disabling failed" - rm $DIR1/$tfile - # restore lockless_truncate default values - restore_lustre_params < $p - rm -f $p + log "disabled lockless truncate" + enable_lockless_truncate 0 + clear_stats osc.*.osc_stats + $TRUNCATE $DIR2/$tfile 3000000 + $CHECKSTAT -s 3000000 $DIR1/$tfile || error "wrong file size" + [ $(calc_stats osc.*.osc_stats lockless_truncate) -eq 0 ] || + error "lockless truncate disabling failed" + rm $DIR1/$tfile + # restore lockless_truncate default values + restore_lustre_params < $p + rm -f $p } run_test 32a "lockless truncate" test_32b() { # bug 11270 - remote_ost_nodsh && skip "remote OST with nodsh" && return + remote_ost_nodsh && skip "remote OST with nodsh" && return local node local facets=$(get_facets OST) @@ -793,35 +793,42 @@ test_32b() { # bug 11270 "ldlm.namespaces.filter-*.contended_locks" >> $p save_lustre_params $facets \ "ldlm.namespaces.filter-*.contention_seconds" >> $p - clear_osc_stats + clear_stats osc.*.osc_stats - # agressive lockless i/o settings - for node in $(osts_nodes); do - do_node $node 'lctl set_param -n ldlm.namespaces.filter-*.max_nolock_bytes 2000000; lctl set_param -n ldlm.namespaces.filter-*.contended_locks 0; lctl set_param -n ldlm.namespaces.filter-*.contention_seconds 60' - done - lctl set_param -n osc.*.contention_seconds 60 - for i in $(seq 5); do - dd if=/dev/zero of=$DIR1/$tfile bs=4k count=1 conv=notrunc > /dev/null 2>&1 - dd if=/dev/zero of=$DIR2/$tfile bs=4k count=1 conv=notrunc > /dev/null 2>&1 - done - [ $(calc_osc_stats lockless_write_bytes) -ne 0 ] || error "lockless i/o was not triggered" - # disable lockless i/o (it is disabled by default) - for node in $(osts_nodes); do - do_node $node 'lctl set_param -n ldlm.namespaces.filter-*.max_nolock_bytes 0; lctl set_param -n ldlm.namespaces.filter-*.contended_locks 32; lctl set_param -n ldlm.namespaces.filter-*.contention_seconds 0' - done - # set contention_seconds to 0 at client too, otherwise Lustre still - # remembers lock contention - lctl set_param -n osc.*.contention_seconds 0 - clear_osc_stats - for i in $(seq 1); do - dd if=/dev/zero of=$DIR1/$tfile bs=4k count=1 conv=notrunc > /dev/null 2>&1 - dd if=/dev/zero of=$DIR2/$tfile bs=4k count=1 conv=notrunc > /dev/null 2>&1 - done - [ $(calc_osc_stats lockless_write_bytes) -eq 0 ] || - error "lockless i/o works when disabled" - rm -f $DIR1/$tfile - restore_lustre_params <$p - rm -f $p + # agressive lockless i/o settings + do_nodes $(comma_list $(osts_nodes)) \ + "lctl set_param -n ldlm.namespaces.*.max_nolock_bytes=2000000 \ + ldlm.namespaces.filter-*.contended_locks=0 \ + ldlm.namespaces.filter-*.contention_seconds=60" + lctl set_param -n osc.*.contention_seconds=60 + for i in {1..5}; do + dd if=/dev/zero of=$DIR1/$tfile bs=4k count=1 conv=notrunc > \ + /dev/null 2>&1 + dd if=/dev/zero of=$DIR2/$tfile bs=4k count=1 conv=notrunc > \ + /dev/null 2>&1 + done + [ $(calc_stats osc.*.osc_stats lockless_write_bytes) -ne 0 ] || + error "lockless i/o was not triggered" + # disable lockless i/o (it is disabled by default) + do_nodes $(comma_list $(osts_nodes)) \ + "lctl set_param -n ldlm.namespaces.filter-*.max_nolock_bytes=0 \ + ldlm.namespaces.filter-*.contended_locks=32 \ + ldlm.namespaces.filter-*.contention_seconds=0" + # set contention_seconds to 0 at client too, otherwise Lustre still + # remembers lock contention + lctl set_param -n osc.*.contention_seconds=0 + clear_stats osc.*.osc_stats + for i in {1..1}; do + dd if=/dev/zero of=$DIR1/$tfile bs=4k count=1 conv=notrunc > \ + /dev/null 2>&1 + dd if=/dev/zero of=$DIR2/$tfile bs=4k count=1 conv=notrunc > \ + /dev/null 2>&1 + done + [ $(calc_stats osc.*.osc_stats lockless_write_bytes) -eq 0 ] || + error "lockless i/o works when disabled" + rm -f $DIR1/$tfile + restore_lustre_params <$p + rm -f $p } run_test 32b "lockless i/o" @@ -2877,14 +2884,16 @@ test_73() { error "setfattr1 failed" getfattr -n user.attr1 $DIR2/$tfile || error "getfattr1 failed" getfattr -n user.attr1 $DIR1/$tfile || error "getfattr2 failed" - clear_llite_stats + clear_stats llite.*.stats # PR lock should be cached by now on both clients getfattr -n user.attr1 $DIR1/$tfile || error "getfattr3 failed" # 2 hits for getfattr(0)+getfattr(size) - [ $(calc_llite_stats getxattr_hits) -eq 2 ] || error "not cached in $DIR1" + [ $(calc_stats llite.*.stats getxattr_hits) -eq 2 ] || + error "not cached in $DIR1" getfattr -n user.attr1 $DIR2/$tfile || error "getfattr4 failed" # 4 hits for more getfattr(0)+getfattr(size) - [ $(calc_llite_stats getxattr_hits) -eq 4 ] || error "not cached in $DIR2" + [ $(calc_stats llite.*.stats getxattr_hits) -eq 4 ] || + error "not cached in $DIR2" rm -f $DIR2/$tfile restore_lustre_params < $p