X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2FsanityN.sh;h=974fdbb155b31e47b426c011299105fcd06e4f41;hb=2dc9c16e770415d56839e1996015fec5fab93f29;hp=703d378164b809783ec41d9c5c94553f59310628;hpb=4d22d9a6a7be61064a76f69ff3b8ca5b84b57f2c;p=fs%2Flustre-release.git diff --git a/lustre/tests/sanityN.sh b/lustre/tests/sanityN.sh index 703d378..974fdbb 100644 --- a/lustre/tests/sanityN.sh +++ b/lustre/tests/sanityN.sh @@ -3,8 +3,8 @@ set -e ONLY=${ONLY:-"$*"} -# bug number for skipped test: 1557 -ALWAYS_EXCEPT=${ALWAYS_EXCEPT:-"8"} +# bug number for skipped test: 1768 +ALWAYS_EXCEPT=${ALWAYS_EXCEPT:-"4 14b"} # UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT! [ "$ALWAYS_EXCEPT$EXCEPT" ] && echo "Skipping tests: $ALWAYS_EXCEPT $EXCEPT" @@ -91,7 +91,7 @@ run_test() { [ "$SANITYLOG" ] && rm -f $SANITYLOG || true error () { - log "FAIL: $@" + log "FAIL: $TESTNAME $@" if [ "$SANITYLOG" ]; then echo "FAIL: $TESTNAME $@" >> $SANITYLOG else @@ -103,8 +103,8 @@ pass() { echo PASS } -export MOUNT1=`mount| awk '/ lustre/ { print $3 }'| head -1` -export MOUNT2=`mount| awk '/ lustre/ { print $3 }'| tail -1` +export MOUNT1=`mount| awk '/ lustre/ { print $3 }'| head -n 1` +export MOUNT2=`mount| awk '/ lustre/ { print $3 }'| tail -n 1` [ -z "$MOUNT1" ] && error "NAME=$NAME not mounted once" [ "$MOUNT1" = "$MOUNT2" ] && error "NAME=$NAME not mounted twice" [ `mount| awk '/ lustre/ { print $3 }'| wc -l` -ne 2 ] && \ @@ -214,7 +214,7 @@ test_9() { [ "$MTPT" -eq 1 ] && MTPT=2 || MTPT=1 done [ "`cat $DIR1/f9`" = "abcdefghijkl" ] || \ - error "`od -a $DIR1/f10` != abcdefghijkl" + error "`od -a $DIR1/f9` != abcdefghijkl" } run_test 9 "append of file with sub-page size on multiple mounts" @@ -234,7 +234,6 @@ test_10a() { run_test 10a "write of file with sub-page size on multiple mounts " test_10b() { - set -vx yes "R" | dd of=$DIR1/f10b bs=3k count=1 || error "dd $DIR1" truncate $DIR1/f10b 4096 || error "truncate 4096" @@ -284,7 +283,53 @@ test_13() { # bug 2451 - directory coherency } run_test 13 "test directory page revocation ====================" +test_14() { + mkdir $DIR1/d14 + cp -p /bin/ls $DIR1/d14/ls + exec 100>> $DIR1/d14/ls + $DIR2/d14/ls && error || true + exec 100<&- +} +run_test 14 "execution of file opened for write should return -ETXTBSY==" + +test_14a() { + mkdir -p $DIR1/d14 + cp -p `which multiop` $DIR1/d14/multiop + $DIR1/d14/multiop $TMP/test14.junk O_c & + MULTIPID=$! + sleep 1 + multiop $DIR2/d14/multiop Oc && error "expected error, got success" + kill -USR1 $MULTIPID || return 2 + wait $MULTIPID || return 3 +} +run_test 14a "open(RDWR) of file being executed should return -ETXTBSY" + +test_14b() { + mkdir -p $DIR1/d14 + cp -p `which multiop` $DIR1/d14/multiop + $DIR1/d14/multiop $TMP/test14.junk O_c & + MULTIPID=$! + sleep 1 + truncate $DIR2/d14/multiop 0 && error "expected error, got success" + kill -USR1 $MULTIPID || return 2 + wait $MULTIPID || return 3 +} +run_test 14b "truncate of file being executed should return -ETXTBSY" + +test_15() { # bug 974 - ENOSPC + echo $PATH + sh oos2.sh $MOUNT1 $MOUNT2 +} +run_test 15 "test out-of-space with multiple writers ===========" + +test_16() { + ./fsx -R -W -c 50 -p 100 -N 2500 \ + $MOUNT1/fsxfile $MOUNT2/fsxfile +} +run_test 16 "2500 iterations of dual-mount fsx =================" + log "cleanup: ======================================================" rm -rf $DIR1/[df][0-9]* $DIR1/lnk || true + echo '=========================== finished ===============================' [ -f "$SANITYLOG" ] && cat $SANITYLOG && exit 1 || true