Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/tests/fs/common

Module Name:    src
Committed By:   pooka
Date:           Mon Jul 26 16:15:50 UTC 2010

Modified Files:
        src/tests/fs/common: Makefile h_fsmacros.h
Added Files:
        src/tests/fs/common: nfs.c

Log Message:
Add NFS to the list of file systems exercised by the "vfs" tests.

How it works:
NFS tests fork and exec the nfs service from fs/nfs/nfsservice.
The child then:
  a) creates a FFS file system
  b) mounts it
  c) starts rpcbind
  d) starts mountd
  e) starts nfsd
  f) handles requests

The client, as expected, does the standard RPC regotiation and
calls mount(MOUNT_NFS).  It then proceeds to execute the test.

An individual test which executes everything described above and
does a few file operations on the NFS mount takes 0.16s wall time
on my laptop from start to finish.  This means it is feasible to
run hundreds of tests while still getting results in a timely

Like in other networked tests, the two processes are connected via
the rump shmif which uses mmapped files as ethernet busses.  The
entire test suite can be executed by an unprivileged account.

As a side effect, these tests exercise also the kernel NFS server
in addition to the kernel NFS client.

While everything is currently targetted at executing the vfs tests,
there is no reason this could not be extended to exercise features
specific to NFS.  For example, the server can run through all
exportable file system types, permissions can be tested, etc.

To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/tests/fs/common/Makefile
cvs rdiff -u -r1.13 -r1.14 src/tests/fs/common/h_fsmacros.h
cvs rdiff -u -r0 -r1.1 src/tests/fs/common/nfs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Home | Main Index | Thread Index | Old Index