Viewing file: node24.html (14.87 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
Linux Client with Linux Kernel-Space NFS server
Next: About this document ...
Up: NFS server in Linux:
Previous: Solaris 7/x86 client
Linux Client with Linux Kernel-Space NFS server
Here is the Connectathon testsuites on Linux client.
Start tests on path /mnt/nfstest/osmium.test [y/n]?
sh ./runtests -a -t /mnt/nfstest/osmium.test
Starting BASIC tests: test directory /mnt/nfstest/osmium.test (arg: -t)
test1: File and directory creation test
created 155 files 62 directories 5 levels deep in 1.6 seconds
test1 ok.
test2: File and directory removal test
removed 155 files 62 directories 5 levels deep in 0.24 seconds
test2 ok.
test3: lookups across mount point
500 getcwd and stat calls in 0.0 seconds
test3 ok.
test4: setattr, getattr, and lookup
1000 chmods and stats on 10 files in 1.13 seconds
test4 ok.
test5: read and write
wrote 1048576 byte file 10 times in 1.95 seconds (5365632 bytes/sec)
read 1048576 byte file 10 times in 0.3 seconds (281572502 bytes/sec)
test5 ok.
test6: readdir
20500 entries read, 200 files in 0.59 seconds
test6 ok.
test7: link and rename
200 renames and links on 10 files in 0.33 seconds
test7 ok.
test8: symlink and readlink
400 symlinks and readlinks on 10 files in 0.43 seconds
test8 ok.
test9: statfs
1500 statfs calls in 0.65 seconds
test9 ok.
Congratulations, you passed the basic tests!
GENERAL TESTS: directory /mnt/nfstest/osmium.test
cd /mnt/nfstest/osmium.test; 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/nfstest/osmium.test
Small Compile
File: "smcomp.time"
Size: 661 Filetype: Regular File
Mode: (0666/-rw-rw-rw-) Uid: (10000/ spec) Gid: (10000/ spec)
Device: 0,12 Inode: 12303 Links: 1
Access: Mon Jun 21 16:03:57 1999(00000.00:00:01)
Modify: Mon Jun 21 16:03:58 1999(00000.00:00:00)
Change: Mon Jun 21 16:03:58 1999(00000.00:00:00)
Tbl
File: "tbl.time"
Size: 1625 Filetype: Regular File
Mode: (0666/-rw-rw-rw-) Uid: (10000/ spec) Gid: (10000/ spec)
Device: 0,12 Inode: 12306 Links: 1
Access: Mon Jun 21 16:03:58 1999(00000.00:00:00)
Modify: Mon Jun 21 16:03:58 1999(00000.00:00:00)
Change: Mon Jun 21 16:03:58 1999(00000.00:00:00)
Nroff
File: "nroff.time"
Size: 654 Filetype: Regular File
Mode: (0666/-rw-rw-rw-) Uid: (10000/ spec) Gid: (10000/ spec)
Device: 0,12 Inode: 12308 Links: 1
Access: Mon Jun 21 16:03:58 1999(00000.00:00:00)
Modify: Mon Jun 21 16:03:58 1999(00000.00:00:00)
Change: Mon Jun 21 16:03:58 1999(00000.00:00:00)
Large Compile
File: "lrgcomp.time"
Size: 1595 Filetype: Regular File
Mode: (0666/-rw-rw-rw-) Uid: (10000/ spec) Gid: (10000/ spec)
Device: 0,12 Inode: 12305 Links: 1
Access: Mon Jun 21 16:03:58 1999(00000.00:00:02)
Modify: Mon Jun 21 16:04:00 1999(00000.00:00:00)
Change: Mon Jun 21 16:04:00 1999(00000.00:00:00)
Four simultaneous large compiles
File: "4lrg.time"
Size: 4460 Filetype: Regular File
Mode: (0666/-rw-rw-rw-) Uid: (10000/ spec) Gid: (10000/ spec)
Device: 0,12 Inode: 12307 Links: 1
Access: Mon Jun 21 16:04:00 1999(00000.00:00:02)
Modify: Mon Jun 21 16:04:02 1999(00000.00:00:00)
Change: Mon Jun 21 16:04:02 1999(00000.00:00:00)
Makefile
File: "makefile.time"
Size: 645 Filetype: Regular File
Mode: (0666/-rw-rw-rw-) Uid: (10000/ spec) Gid: (10000/ spec)
Device: 0,12 Inode: 12359 Links: 1
Access: Mon Jun 21 16:04:02 1999(00000.00:00:02)
Modify: Mon Jun 21 16:04:03 1999(00000.00:00:01)
Change: Mon Jun 21 16:04:03 1999(00000.00:00:01)
General tests complete
SPECIAL TESTS: directory /mnt/nfstest/osmium.test
cd /mnt/nfstest/osmium.test; 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 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 freesp /mnt/nfstest/osmium.test
check for proper open/unlink operation
nfsjunk files before unlink:
./nfsfMUDri open; unlink ret = 0
nfsjunk files after unlink:
-rw-rw-rw- 1 spec spec 0 Jun 21 16:04 .nfs000030190000000f
data compare ok
nfsjunk files after close:
test completed successfully.
check for proper open/rename operation
nfsjunk files before rename:
./nfsbebYkBv open; rename ret = 0
nfsjunk files after rename:
-rwxrwxrwx 1 spec spec 0 Jun 21 16:04 .nfs0000301a00000010
data compare ok
nfsjunk files after close:
test completed successfully.
check for proper open/chmod 0 operation
testfile before chmod:
-rw-rw-rw- 1 spec spec 0 Jun 21 16:04 ./nfslxPegn
./nfslxPegn open; chmod ret = 0
testfile after chmod:
---------- 1 spec spec 0 Jun 21 16:04 ./nfslxPegn
data compare ok
testfile after write/read:
---------- 1 spec spec 100 Jun 21 16:04 ./nfslxPegn
test completed successfully.
check for lost reply on non-idempotent requests
100 tries
test exclusive create.
test negative seek, you should get: read: Invalid argument
or lseek: Invalid argument
test rename
test truncate
truncate succeeded
test holey file support
Holey file test ok
second check for lost reply on non-idempotent requests
testing 50 idempotencies in directory "testdir"
test rewind support
test telldir cookies (slow)
write/read 30 MB file
test freesp and file size
fcntl(...F_FREESP...) not available on this platform.
Special tests complete
Starting LOCKING tests: test directory /mnt/nfstest/osmium.test (arg: -t)
Testing native pre-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 [ 0, 4] PASSED.
Parent: Wrote 'aaaa' to testfile [ 0, 4 ].
Parent: Now free child to run, should block on lock.
Parent: Check data in file to insure child blocked.
Parent: Read 'aaaa' from testfile [ 0, 4 ].
Parent: 7.1 - COMPARE [ 0, 4] PASSED.
Parent: Now unlock region so child will unblock.
Parent: 7.2 - F_ULOCK [ 0, 4] PASSED.
Child: 7.3 - F_LOCK [ 0, 4] PASSED.
Child: Write child's version of the data and release lock.
Parent: Now try to regain lock, parent should block.
Child: Wrote 'bbbb' to testfile [ 0, 4 ].
Child: 7.4 - F_ULOCK [ 0, 4] PASSED.
Parent: 7.5 - F_LOCK [ 0, 4] PASSED.
Parent: Check data in file to insure child unblocked.
Parent: Read 'bbbb' from testfile [ 0, 4 ].
Parent: 7.6 - COMPARE [ 0, 4] PASSED.
Parent: 7.7 - F_ULOCK [ 0, 4] PASSED.
Test #8 - Rate test performing lock/unlock cycles.
Parent: Performed 1000 lock/unlock cycles in 710 msecs. [169014 lpm].
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 success...
Parent: 13.2 - F_ULOCK [ 0, ENDING] PASSED.
Parent: unmap testfile.
Parent: 13.3 - mmap [ 0, 1000] PASSED.
Parent: 13.4 - F_TLOCK [ ffe, ENDING] PASSED.
** PARENT pass 1 results: 44/44 pass, 1/1 warn, 0/0 fail (pass/total).
** CHILD pass 1 results: 64/64 pass, 0/0 warn, 0/0 fail (pass/total).
Congratulations, you passed the locking tests!
All tests completed
H.J. Lu
1999-08-15
|