NFSTEST_POSIX(1)nfstest_posix 1.0.2 NFSTEST_POSIX(1)NAMEnfstest_posix - POSIX file system level access tests
SYNOPSISnfstest_posix--server <server> [options]
DESCRIPTION
Verify POSIX file system level access over the specified path using
positive and negative testing.
Valid for any version of NFS.
OPTIONS--version
show program's version number and exit
-h, --help
show this help message and exit
-f FILE, --file=FILE
Options file
-s SERVER, --server=SERVER
Server name or IP address
-p PORT, --port=PORT
NFS server port [default: 2049]
--nfsversion=NFSVERSION
NFS version [default: 4]
--minorversion=MINORVERSION
Minor version [default: 1]
-e EXPORT, --export=EXPORT
Exported file system to mount [default: '/']
-m MTPOINT, --mtpoint=MTPOINT
Mount point [default: '/mnt/t']
--datadir=DATADIR
Data directory where files are created [default: '']
-o MTOPTS, --mtopts=MTOPTS
Mount options [default: 'hard,rsize=4096,wsize=4096']
-i INTERFACE, --interface=INTERFACE
Device interface [default: 'eth0']
-v VERBOSE, --verbose=VERBOSE
Verbose level [default: 'none']
--nocleanup
Do not cleanup
--rmtraces
Remove trace files [default: remove trace files if no errors]
--keeptraces
Do not remove any trace files [default: remove trace files if no
errors]
--createlog
Create log file
--bugmsgs=BUGMSGS
File containing test messages to mark as bugs if they failed
--ignore
Ignore all bugs given by bugmsgs
--nomount
Do not mount server
--basename=BASENAME
Base name for all files and logs [default: automatically gener‐
ated]
--tverbose=TVERBOSE
Verbose level for test messages [default: '1']
--filesize=FILESIZE
File size to use for test files [default: 65536]
--nfiles=NFILES
Number of files to create [default: 2]
--rsize=RSIZE
Read size to use when reading files [default: 4096]
--wsize=WSIZE
Write size to use when writing files [default: 4096]
--iodelay=IODELAY
Seconds to delay I/O operations [default: 0.1]
--offset-delta=OFFSET_DELTA
Read/Write offset delta [default: 4096]
--warnings
Display warnings
--nfsdebug=NFSDEBUG
Set NFS kernel debug flags and save log messages [default: '']
--rpcdebug=RPCDEBUG
Set RPC kernel debug flags and save log messages [default: '']
--sudo=SUDO
Full path of binary for sudo [default: '/usr/bin/sudo']
--tcpdump=TCPDUMP
Full path of binary for tcpdump [default: '/usr/sbin/tcpdump']
--iptables=IPTABLES
Full path of binary for iptables [default: '/sbin/iptables']
--messages=MESSAGES
Full path of log messages file [default: '/var/log/messages']
--tmpdir=TMPDIR
Temporary directory [default: '/tmp']
--runtest=RUNTEST
Comma separated list of tests to run [default: 'all']
TESTS
access
Verify POSIX API access() on files with different modes.
chdir
Verify POSIX API chdir() by changing to a newly created directory and
then by changing back to the original directory.
creat
Verify POSIX API creat(path, mode) is equivalent to open(path,
O_WRONLY|O_CREAT|O_TRUNC, mode). First test with a path that does not
exist to verify the file was created and then test with a path that
does exist to verify that the file is truncated.
fcntl
Verify the POSIX API fcntl() commands F_DUPFD, F_GETFD, F_SETFD,
F_GETFL, F_SETFL, and FD_CLOEXEC. The F_DUPFD command is tested by per‐
forming operations on the original and dupped file descriptor to ensure
they behave correctly. The F_GETFD and F_SETFD commands are tested by
setting the FD_CLOEXEC flag and making sure it gets set. The F_GETFL
and F_SETFL commands are tested by setting the O_APPEND flag and making
sure it gets set. Run the test for both 'read' and 'write'.
fdatasync
Verify POSIX API fdatasync().
fstat
Verify POSIX API fstat() by checking the mode on a file and that it
returns the expected structure members. Create a symlink and verify
that fstat returns information about the link.
fstatvfs
Verify POSIX API fstatvfs() by making sure all the members of the
structure are returned.
fsync
Verify POSIX API fsync().
link
Verify POSIX API link(src, dst) creates a link and updates st_ctime
field for the file. Verify that link updates the st_ctime and st_mtime
for the directory. Verify st_link count incremented by 1 for the file.
lseek
Verify POSIX API lseek() with different offsets and whence values
including seeking past the end of the file.
lstat
Verify POSIX API lstat() by checking the mode on a file and that it
returns the expected structure members. Create a symlink and verify
that lstat returns information about the link.
mkdir
Verify POSIX API mkdir(). Verify that mkdir with a path of a symbolic
link fails. Verify that the st_ctime and st_mtime fields of the parent
directory are updated.
opendir
Verify POSIX API opendir() on a directory.
read
Verify POSIX API read() by reading data from a file. Verify that the
st_atime of the file is updated after the read. Verify a read of 0
bytes returns 0.
readdir
Verify POSIX API readdir() on a directory.
readlink
Verify Test POSIX API readlink() by reading a symbolic link.
rename
Verify POSIX API rename() by renaming a file, directory, and a symbolic
link. Verify that a rename from a file to a symbolic link will cause
the symbolic link to be removed.
rewinddir
Verify POSIX API rewinddir() on a directory.
rmdir
Verify POSIX API rmdir() by removing a directory. Verify that the par‐
ent's st_ctime and st_mtime are updated.
seekdir
Verify POSIX API seekdir() on a directory.
stat
Verify POSIX API stat() by checking the mode on a file and that it
returns the expected structure members. Create a symlink and verify
that stat returns information about the file.
statvfs
Verify POSIX API statvfs() by making sure all the members of the struc‐
ture are returned.
symlink
Verify POSIX API symlink() by creating a symbolic link and verify that
the file type is slnk.
sync
Verify POSIX API sync().
telldir
Verify POSIX API telldir() on a directory.
unlink
Verify POSIX API unlink() by unlinking a file and verify that it was
removed. Verify that the st_ctime and st_mtime fields of the parent
directory were updated. Then unlink a symbolic link and verify that the
symbolic link was removed but not the referenced file. Then remove an
open file and verify that I/O still occurs to the file after the unlink
and that the file gets removed when the file is closed. Create a file
and then hard link to it so the link count is greater than 1. Unlink
the hard file and verify that st_ctime field is updated.
write
Verify POSIX API write() by writing 0 bytes and verifying 0 is
returned. Write a pattern the file, seek +N, write another pattern, and
close the file. Open the file and read in both written patterns and
verify that it is the correct pattern. Read in the data from the hole
in the file and verify that it is 0.
open
Verify POSIX API open() on a file. Verify file creation using the
O_CREAT flag and verifying the file mode is set to the specified value.
Verify the st_ctime and st_mtime are updated on the parent directory
after the file was created. Verify open on existing file fails with the
O_EXCL flag set. Verify write succeeds and read fails if file was open
with O_WRONLY. Verify read succeeds and write fails if file was open
with O_RDONLY. Verify that all writes with O_APPEND set are to the end
of the file. Use O_DSYNC, O_RSYNC, and O_SYNC flags in open calls.
Verify file open with O_CREAT and O_TRUNC set will truncate an existing
file. Verify that it updates the file st_ctime and st_mtime.
chmod
Verify POSIX API chmod() on a file and directory by trying all valid
combinations of modes. Verify that the st_ctime files is updated for
both the file and directory.
closedir
Verify POSIX API closedir() works and that reading to a closed file
descriptor returns an error.
close
Verify POSIX API close() works and that writing to a closed file
descriptor returns an error.
EXAMPLES
The only required option is --server
$ nfstest_posix--server 192.168.0.11
NOTES
The user id in the local host must have access to run commands as root
using the 'sudo' command without the need for a password.
SEE ALSOnfstest.test_util(1), nfstest_cache(1), nfstest_delegation(1),
nfstest_dio(1), nfstest_pnfs(1)BUGS
No known bugs.
AUTHOR
Jorge Mora (mora@netapp.com)
NFStest 1.0.2 10 April 2013 NFSTEST_POSIX(1)