[Pvfs2-developers] Suggested testing for bmi_mx?

Scott Atchley atchley at myri.com
Tue Jan 30 09:28:25 EST 2007


Hi Murali,

I ran connectathon on /mnt/pvfs2 using runtests.

Basic and general test pass, while special and lock tests fail  
(although it looks like the lock tests pass all but one test).

Do I need to do any more connectathon tests?

Scott

# export NFSTESTDIR=/mnt/pvfs2/connect
# sh ./runtests -a -t

Starting BASIC tests: test directory /mnt/pvfs2/connect (arg: -t)

./test1: File and directory creation test
         created 155 files 62 directories 5 levels deep in 0.43 seconds
         ./test1 ok.

./test2: File and directory removal test
         removed 155 files 62 directories 5 levels deep in 0.42 seconds
         ./test2 ok.

./test3: lookups across mount point
         500 getcwd and stat calls in 0.9  seconds
         ./test3 ok.

./test4: setattr, getattr, and lookup
         1000 chmods and stats on 10 files in 1.66 seconds
         ./test4 ok.

./test5: read and write
         wrote 1048576 byte file 10 times in 0.83 seconds (12595280  
bytes/sec)
         read 1048576 byte file 10 times in 0.64 seconds (16170922  
bytes/sec)
         ./test5 ok.

./test6: readdir
         20500 entries read, 200 files in 2.16 seconds
         ./test6 ok.

./test7: link and rename
         ./test7: (/mnt/pvfs2/connect) can't link newfile.0 to file. 
0 : Operation not supported
         ./test7 ok.

./test8: symlink and readlink
         400 symlinks and readlinks on 10 files in 0.65 seconds
         ./test8 ok.

./test9: statfs
         1500 statfs calls in 0.33 seconds
         ./test9 ok.

Congratulations, you passed the basic tests!

GENERAL TESTS: directory /mnt/pvfs2/connect
if test ! -x runtests; then chmod a+x runtests; fi
cd /mnt/pvfs2/connect; rm -f Makefile runtests runtests.wrk *.sh *.c  
mkdummy rmdummy nroff.in makefile.tst
cp Makefile runtests runtests.wrk *.sh *.c mkdummy rmdummy nroff.in  
makefile.tst /mnt/pvfs2/connect

Small Compile
         0.1 (0.0) real  0.0 (0.0) user  0.0 (0.0) sys

Tbl
         0.0 (0.0) real  0.0 (0.0) user  0.0 (0.0) sys

Nroff
         0.1 (0.0) real  0.0 (0.0) user  0.0 (0.0) sys

Large Compile
         0.1 (0.0) real  0.0 (0.0) user  0.0 (0.0) sys

Four simultaneous large compiles
         0.4 (0.0) real  0.1 (0.0) user  0.0 (0.0) sys

Makefile
         0.0 (0.0) real  0.0 (0.0) user  0.0 (0.0) sys

General tests complete

SPECIAL TESTS: directory /mnt/pvfs2/connect
cd /mnt/pvfs2/connect; rm -f runtests runtests.wrk READWIN.txt  
Makefile op_unlk op_ren op_chmod dupreq excltest negseek rename holey  
truncate nfsidem nstat stat stat2 touchn fstat rewind telldir bigfile  
bigfile2 freesp
cp runtests runtests.wrk READWIN.txt Makefile op_unlk op_ren op_chmod  
dupreq excltest negseek rename holey truncate nfsidem nstat stat  
stat2 touchn fstat rewind telldir bigfile bigfile2 freesp /mnt/pvfs2/ 
connect

check for proper open/unlink operation
nfsjunk files before unlink:
   ls: .nfs*: No such file or directory
./nfsC85mle open; unlink ret = 0
nfsjunk files after unlink:
   ls: .nfs*: No such file or directory
write ret -1; expected 100
write: No such file or directory
special tests failed

fog34:/nfs/home/atchley/projects/cthon04/fog# sh ./runtests -l -t

Starting LOCKING tests: test directory /mnt/pvfs2/connect (arg: -t)

Testing native post-LFS locking

Creating parent/child synchronization pipes.

Test #1 - Test regions of an unlocked file.
         Parent: 1.1  - F_TEST  [       0,       1] PASSED.
         Parent: 1.2  - F_TEST  [       0,  ENDING] PASSED.
         Parent: 1.3  - F_TEST  [       0,7fffffff] PASSED.
         Parent: 1.4  - F_TEST  [       1,       1] PASSED.
         Parent: 1.5  - F_TEST  [       1,  ENDING] PASSED.
         Parent: 1.6  - F_TEST  [       1,7fffffff] PASSED.
         Parent: 1.7  - F_TEST  [7fffffff,       1] PASSED.
         Parent: 1.8  - F_TEST  [7fffffff,  ENDING] PASSED.
         Parent: 1.9  - F_TEST  [7fffffff,7fffffff] PASSED.

Test #2 - Try to lock the whole file.
         Parent: 2.0  - F_TLOCK [       0,  ENDING] PASSED.
         Child:  2.1  - F_TEST  [       0,       1] PASSED.
         Child:  2.2  - F_TEST  [       0,  ENDING] PASSED.
         Child:  2.3  - F_TEST  [       0,7fffffff] PASSED.
         Child:  2.4  - F_TEST  [       1,       1] PASSED.
         Child:  2.5  - F_TEST  [       1,  ENDING] PASSED.
         Child:  2.6  - F_TEST  [       1,7fffffff] PASSED.
         Child:  2.7  - F_TEST  [7fffffff,       1] PASSED.
         Child:  2.8  - F_TEST  [7fffffff,  ENDING] PASSED.
         Child:  2.9  - F_TEST  [7fffffff,7fffffff] PASSED.
         Parent: 2.10 - F_ULOCK [       0,  ENDING] PASSED.

Test #3 - Try to lock just the 1st byte.
         Parent: 3.0  - F_TLOCK [       0,       1] PASSED.
         Child:  3.1  - F_TEST  [       0,       1] PASSED.
         Child:  3.2  - F_TEST  [       0,  ENDING] PASSED.
         Child:  3.3  - F_TEST  [       1,       1] PASSED.
         Child:  3.4  - F_TEST  [       1,  ENDING] PASSED.
         Parent: 3.5  - F_ULOCK [       0,       1] PASSED.

Test #4 - Try to lock the 2nd byte, test around it.
         Parent: 4.0  - F_TLOCK [       1,       1] PASSED.
         Child:  4.1  - F_TEST  [       0,       1] PASSED.
         Child:  4.2  - F_TEST  [       0,       2] PASSED.
         Child:  4.3  - F_TEST  [       0,  ENDING] PASSED.
         Child:  4.4  - F_TEST  [       1,       1] PASSED.
         Child:  4.5  - F_TEST  [       1,       2] PASSED.
         Child:  4.6  - F_TEST  [       1,  ENDING] PASSED.
         Child:  4.7  - F_TEST  [       2,       1] PASSED.
         Child:  4.8  - F_TEST  [       2,       2] PASSED.
         Child:  4.9  - F_TEST  [       2,  ENDING] PASSED.
         Parent: 4.10 - F_ULOCK [       1,       1] PASSED.

Test #5 - Try to lock 1st and 2nd bytes, test around them.
         Parent: 5.0  - F_TLOCK [       0,       1] PASSED.
         Parent: 5.1  - F_TLOCK [       2,       1] PASSED.
         Child:  5.2  - F_TEST  [       0,       1] PASSED.
         Child:  5.3  - F_TEST  [       0,       2] PASSED.
         Child:  5.4  - F_TEST  [       0,  ENDING] PASSED.
         Child:  5.5  - F_TEST  [       1,       1] PASSED.
         Child:  5.6  - F_TEST  [       1,       2] PASSED.
         Child:  5.7  - F_TEST  [       1,  ENDING] PASSED.
         Child:  5.8  - F_TEST  [       2,       1] PASSED.
         Child:  5.9  - F_TEST  [       2,       2] PASSED.
         Child:  5.10 - F_TEST  [       2,  ENDING] PASSED.
         Child:  5.11 - F_TEST  [       3,       1] PASSED.
         Child:  5.12 - F_TEST  [       3,       2] PASSED.
         Child:  5.13 - F_TEST  [       3,  ENDING] PASSED.
         Parent: 5.14 - F_ULOCK [       0,       1] PASSED.
         Parent: 5.15 - F_ULOCK [       2,       1] PASSED.

Test #6 - Try to lock the MAXEOF byte.
         Parent: 6.0  - F_TLOCK [7fffffff,       1] PASSED.
         Child:  6.1  - F_TEST  [7ffffffe,       1] PASSED.
         Child:  6.2  - F_TEST  [7ffffffe,       2] PASSED.
         Child:  6.3  - F_TEST  [7ffffffe,  ENDING] PASSED.
         Child:  6.4  - F_TEST  [7fffffff,       1] PASSED.
         Child:  6.5  - F_TEST  [7fffffff,       2] PASSED.
         Child:  6.6  - F_TEST  [7fffffff,  ENDING] PASSED.
         Child:  6.7  - F_TEST  [80000000,  ENDING] PASSED.
         Child:  6.8  - F_TEST  [80000000,       1] PASSED.
         Child:  6.9  - F_TEST  [80000000,7fffffff] PASSED.
         Child:  6.10 - F_TEST  [80000000,80000000] PASSED.
         Parent: 6.11 - F_ULOCK [7fffffff,       1] PASSED.

Test #7 - Test parent/child mutual exclusion.
         Parent: 7.0  - F_TLOCK [     ffc,       9] PASSED.
         Parent: Wrote 'aaaa eh' to testfile [ 4092, 7 ].
         Parent: Now free child to run, should block on lock.
         Parent: Check data in file to insure child blocked.
         Parent: Read 'aaaa eh' from testfile [ 4092, 7 ].
         Parent: 7.1  - COMPARE [     ffc,       7] PASSED.
         Parent: Now unlock region so child will unblock.
         Parent: 7.2  - F_ULOCK [     ffc,       9] PASSED.
         Child:  7.3  - F_LOCK  [     ffc,       9] PASSED.
         Child:  Write child's version of the data and release lock.
         Parent: Now try to regain lock, parent should block.
         Child:  Wrote 'bebebebeb' to testfile [ 4092, 9 ].
         Child:  7.4  - F_ULOCK [     ffc,       9] PASSED.
         Parent: 7.5  - F_LOCK  [     ffc,       9] PASSED.
         Parent: Check data in file to insure child unblocked.
         Parent: Read 'bebebebeb' from testfile [ 4092, 9 ].
         Parent: 7.6  - COMPARE [     ffc,       9] PASSED.
         Parent: 7.7  - F_ULOCK [     ffc,       9] PASSED.

Test #8 - Rate test performing lock/unlock cycles.
tlock: rate time=0.

Test #10 - Make sure a locked region is split properly.
         Parent: 10.0  - F_TLOCK [       0,       3] PASSED.
         Parent: 10.1  - F_ULOCK [       1,       1] PASSED.
         Child:  10.2  - F_TEST  [       0,       1] PASSED.
         Child:  10.3  - F_TEST  [       2,       1] PASSED.
         Child:  10.4  - F_TEST  [       3,  ENDING] PASSED.
         Child:  10.5  - F_TEST  [       1,       1] PASSED.
         Parent: 10.6  - F_ULOCK [       0,       1] PASSED.
         Parent: 10.7  - F_ULOCK [       2,       1] PASSED.
         Child:  10.8  - F_TEST  [       0,       3] PASSED.
         Parent: 10.9  - F_ULOCK [       0,       1] PASSED.
         Parent: 10.10 - F_TLOCK [       1,       3] PASSED.
         Parent: 10.11 - F_ULOCK [       2,       1] PASSED.
         Child:  10.12 - F_TEST  [       1,       1] PASSED.
         Child:  10.13 - F_TEST  [       3,       1] PASSED.
         Child:  10.14 - F_TEST  [       4,  ENDING] PASSED.
         Child:  10.15 - F_TEST  [       2,       1] PASSED.
         Child:  10.16 - F_TEST  [       0,       1] PASSED.

Test #11 - Make sure close() releases the process's locks.
         Parent: 11.0  - F_TLOCK [       0,  ENDING] PASSED.
         Parent: Closed testfile.
         Child:  11.1  - F_TLOCK [       0,  ENDING] PASSED.
         Child:  11.2  - F_ULOCK [       0,  ENDING] PASSED.
         Parent: 11.3  - F_TLOCK [      1d,     5b7] PASSED.
         Parent: 11.4  - F_TLOCK [    2000,      57] PASSED.
         Parent: Closed testfile.
         Child:  11.5  - F_TLOCK [       0,  ENDING] PASSED.
         Child:  11.6  - F_ULOCK [       0,  ENDING] PASSED.
         Parent: Wrote '123456789abcdef' to testfile [ 0, 16 ].
         Parent: 11.7  - F_TLOCK [       0,  ENDING] PASSED.
         Parent: Wrote '123456789abcdef' to testfile [ 13, 16 ].
         Parent: Closed testfile.
         Child:  11.8  - F_TLOCK [       0,  ENDING] PASSED.
         Child:  11.9  - F_ULOCK [       0,  ENDING] PASSED.
         Parent: Wrote '123456789abcdef' to testfile [ 0, 16 ].
         Parent: 11.10 - F_TLOCK [       0,  ENDING] PASSED.
         Parent: Truncated testfile.
         Parent: Closed testfile.
         Child:  11.11 - F_TLOCK [       0,  ENDING] PASSED.
         Child:  11.12 - F_ULOCK [       0,  ENDING] PASSED.

Test #12 - Signalled process should release locks.
         Child:  12.0  - F_TLOCK [       0,  ENDING] PASSED.
         Parent: Killed child process.
         Parent: 12.1  - F_TLOCK [       0,  ENDING] PASSED.

Test #13 - Check locking and mmap semantics.
         Parent: 13.0  - F_TLOCK [     ffe,  ENDING] PASSED.
         Parent: 13.1  - mmap [       0,    1000] WARNING!
         Parent: **** Expected EAGAIN, returned EINVAL...
         Parent: 13.2  - F_ULOCK [       0,  ENDING] PASSED.
         Parent: 13.3  - mmap [       0,    1000] FAILED!
         Parent: **** Expected success, returned EINVAL...
         Parent: **** Probably implementation error.

** PARENT pass 1 results: 42/42 pass, 1/1 warn, 1/1 fail (pass/total).

**  CHILD pass 1 results: 64/64 pass, 0/0 warn, 0/0 fail (pass/total).
lock tests failed




More information about the Pvfs2-developers mailing list