X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Fsanityn.sh;h=255d138d68022c841afd577ef216094de34a4dcb;hb=2e3e6ff54c312903e69633fcd0fea90da969c3a9;hp=2058aa8ff3a71ce2c6c37d5d644c3c70804de8fb;hpb=4bd8634593f8d95348fa0908b0bd06f3228b2cbd;p=fs%2Flustre-release.git diff --git a/lustre/tests/sanityn.sh b/lustre/tests/sanityn.sh index 2058aa8..255d138 100644 --- a/lustre/tests/sanityn.sh +++ b/lustre/tests/sanityn.sh @@ -65,7 +65,7 @@ rm -rf $DIR1/[df][0-9]* $DIR1/lnk # $RUNAS_ID may get set incorrectly somewhere else [ $UID -eq 0 -a $RUNAS_ID -eq 0 ] && error "\$RUNAS_ID set to 0, but \$UID is also 0!" -check_runas_id $RUNAS_ID $RUNAS_ID $RUNAS +check_runas_id $RUNAS_ID $RUNAS_GID $RUNAS build_test_filter @@ -473,13 +473,13 @@ test_25() { chmod 0755 $DIR1/$tdir/f1 || error "chmod 0755 $DIR1/$tdir/f1" $RUNAS $CHECKSTAT $DIR2/$tdir/f1 || error "checkstat $DIR2/$tdir/f1 #1" - setfacl -m u:$RUNAS_ID:--- $DIR1/$tdir || error "setfacl $DIR2/$tdir #1" + setfacl -m u:$RUNAS_ID:--- -m g:$RUNAS_GID:--- $DIR1/$tdir || error "setfacl $DIR2/$tdir #1" $RUNAS $CHECKSTAT $DIR2/$tdir/f1 && error "checkstat $DIR2/$tdir/f1 #2" - setfacl -m u:$RUNAS_ID:r-x $DIR1/$tdir || error "setfacl $DIR2/$tdir #2" + setfacl -m u:$RUNAS_ID:r-x -m g:$RUNAS_GID:r-x $DIR1/$tdir || error "setfacl $DIR2/$tdir #2" $RUNAS $CHECKSTAT $DIR2/$tdir/f1 || error "checkstat $DIR2/$tdir/f1 #3" - setfacl -m u:$RUNAS_ID:--- $DIR1/$tdir || error "setfacl $DIR2/$tdir #3" + setfacl -m u:$RUNAS_ID:--- -m g:$RUNAS_GID:--- $DIR1/$tdir || error "setfacl $DIR2/$tdir #3" $RUNAS $CHECKSTAT $DIR2/$tdir/f1 && error "checkstat $DIR2/$tdir/f1 #4" - setfacl -x u:$RUNAS_ID: $DIR1/$tdir || error "setfacl $DIR2/$tdir #4" + setfacl -x u:$RUNAS_ID: -x g:$RUNAS_GID: $DIR1/$tdir || error "setfacl $DIR2/$tdir #4" $RUNAS $CHECKSTAT $DIR2/$tdir/f1 || error "checkstat $DIR2/$tdir/f1 #5" rm -rf $DIR1/$tdir @@ -773,13 +773,22 @@ run_test 33a "commit on sharing, cross crete/delete, 2 clients, benchmark" # End commit on sharing tests +get_ost_lock_timeouts() { + local nodes=${1:-$(comma_list $(osts_nodes))} + + local locks=$(do_nodes $nodes \ + "lctl get_param -n ldlm.namespaces.filter-*.lock_timeouts" | calc_sum) + + echo $locks +} + test_34() { #16129 local OPER local lock_in local lock_out for OPER in notimeout timeout ; do rm $DIR1/$tfile 2>/dev/null - lock_in=$(do_nodes $(osts_nodes) "lctl get_param -n ldlm.namespaces.filter-*.lock_timeouts" | calc_sum) + lock_in=$(get_ost_lock_timeouts) if [ $OPER == "timeout" ] ; then for j in `seq $OSTCOUNT`; do #define OBD_FAIL_PTLRPC_HPREQ_TIMEOUT 0x511 @@ -800,7 +809,7 @@ test_34() { #16129 dd of=/dev/null if=$DIR2/$tfile > /dev/null 2>&1 # wait for a lock timeout sleep 4 - lock_out=$(do_nodes $(osts_nodes) "lctl get_param -n ldlm.namespaces.filter-*.lock_timeouts" | calc_sum) + lock_out=$(get_ost_lock_timeouts) if [ $OPER == "timeout" ] ; then if [ $lock_in == $lock_out ]; then error "no lock timeout happened" @@ -1849,6 +1858,19 @@ test_46h() { } run_test 46h "pdirops: link vs readdir ==============" +test_50() { + trunc_size=4096 + dd if=/dev/zero of=$DIR1/$tfile bs=1K count=10 +#define OBD_FAIL_OSC_CP_ENQ_RACE 0x410 + do_facet client "lctl set_param fail_loc=0x410" + $TRUNCATE $DIR2/$tfile $trunc_size + do_facet client "lctl set_param fail_loc=0x0" + sleep 3 + size=`stat -c %s $DIR2/$tfile` + [ $size -eq $trunc_size ] || error "wrong size" +} +run_test 50 "osc lvb attrs: enqueue vs. CP AST ==============" + log "cleanup: ======================================================" [ "$(mount | grep $MOUNT2)" ] && umount $MOUNT2