Testing the CIFS VFS - 

Advanced Common Internet File System for Linux
version 1.33 test results 

Table 2: The CIFS protocol is pervasive, among the most popular protocols in history and is supported by a wide variety of servers as can be seen above in the list of various important network file servers
Windows 2003 (packaged by various NAS products) Future Windows (Longhorn) Samba 3 (packaged by many server and NAS products) Samba 4 Windows 2000 AIX FastConnect Helios
Network Appliance Windows 2003 Windows XP Windows NT 4 Windows 9x/ME OS/400 Netserver BlueArc
Table 1: List of various important filesystem testcases
test name strengths of test, used for testing download location results
fsx write, truncate, mmapping LTP (Linux Test Project on sourceforge) Pass
fsstress, 100 procs large # of simultaneous requests, variety of operations LTP Pass
dbench, 20 procs variety of operations, write oriented (run with 20) samba.org Pass
dbench xattr extended attributes as above unknown, not run yet
Connectathon "NFS" basic general and lock tests broad coverage of posix file API connectathon.org Pass (Have seen a problem with RedHat clients in the general test, which seems to be a build/packaging issue, rather than a CIFS bug). Lock test 10 fails on all servers
Connectathon "NFS special" tests unusual posix file API cases (see above) Passes to Samba 3, but not to Windows 200x , or Windows NT4 is slightly worse, which lack some protocol support for a few of the POSIX operations which Samba supports as part of the CIFS Unix Extensions
NIST lock tests byte range locking unknown, not found yet
linktest 64500, hard/softlink (Samba)
linktest 1024, hardlinks only (Windows)
hard, softlinks ltp pass
ftest, and remaining tests in testcases/kernel/fs and sendfile tests in ltp various ltp unknown not run yet
GOALS: CIFS is a rich, widely deployed, protocol, and we would like the Linux CIFS client implemtation to a) be as stable as NFS b) accurately implement POSIX semantics, approaching the level of a cluster filesystem c) accurately implement various Linux specific VFS extensions (e.g. to fcntl, ioctl) which are used in important tools and d) to support a wide variety of popular servers. To do this requires -- lots of testing! (and testingfrom lots of different people). IBM, OSDL, the major distributions and others are helping - but we need you to let us know (via bugzilla if you can) of any bugs you encounter with reasonably current code - so we can ensure that the Linux CIFS client is rock solid.

CIFS version 1.33 is proving very stable, but we have not reached maximal code coverage in our tests, at least with the existing tests (see below) so we are always looking for good new tests, and ways to measure quantitatively how much progress is being made in testing all entry points to the cifs client.

An additional consideration is the hostile environment of many networks today. Stability is an essential component of security, and network client software can no longer assume that frames are not corrupted. Additional testing of frame corruption is needed to ensure that the CIFS client properly rejects all malformed frames (although there has been some primitive testing in this).
Test Case Needs: