Feature #512

RFE: We need a (basic) NFS testsuite

Added by Roland Mainz over 9 years ago. Updated over 9 years ago.

Start date:
Due date:
% Done:


Estimated time:
Gerrit CR:


RFE: We need a (basic) NFS testsuite which covers both client and server and does some basic tests.

- We need to investigate whether others OSes (like { Linux, FreeBSD }) have something like that
- We need to re-fine the requirements
- Testing may include building of OS/Net (and more importantly due it's greater diversity) SFWNV with TMPDIR set to the same mount.

Related issues

Blocked by illumos gate - Feature #699: RFE: Need utilities to create and list holes (sparse files): lsholes and mkholesNew2011-02-07




Updated by Roland Mainz over 9 years ago

More notes:
- NFSv4 uses UTF-8 on the wire. We may need i18n tests to check whether non-UTF-8 locales work
- If we write our own C modules we should consider iterating over multiple read/write APIs per test, e.g. for write operations { |write()|, |writev()|, |pwrite()|, |aio_write()|, |mmap()|+memory write (with various options, including sparse files), |sendfile()| (not possible in Solaris yet to use |sendfile()| for file fds) }
- We need tests for |poll()|
- We may need test for various directory operation "stunts"
- We need to have tests for the |*at()|-APIs
- We need to have tests for pathchk&co.
- Sparse file "spray" test: Create 20TB sparse file, |mmap()| it and then "spray" the address space and sync random parts


Updated by Roland Mainz over 9 years ago

[It seems I have to redmine permission for the bugs I filed... title should include the word "automated", e.g. we need as testsuite which runs fully automated]


Updated by Gordon Ross over 9 years ago

The "Connectathon NFS tests" are available. I have a fairly up-to-date copy I can put somewhere. Where do we keep tests?


Updated by Roland Mainz over 9 years ago

More random notes (mainly for me):
- Focus needs to be on NFS referrals, see nfsref(1M), and
- "Connectathon NFS tests" are Ok but we need either own add-ons or a seperate testsuite which fits our needs
- Think about automated testing (long term goal): One option is to use "qemu" (on x86), e.g. build bootable CDROM image and run either client and/or server tests from it. This solves the problems with (otherwise) unresolveable filesystem hangs ("soft" mounts do not work with NFSv4) and allows runtime snapshots for further dissection if hangs occur.
- Need extensive tests for locking strategies, including mandatory locking and the various systems used to access files /var/mail/ and databases.
- See fbt(7D) for a trace facility to "truss" inside kernel space. This is needed to verify whether specific codepaths in the NFS parts of the kernel have been hit.

Also available in: Atom PDF