Man page - nfstest_posix(1)
Packages contains this manual
- packet.link.ethernet(3)
- packet.application.gss_const(3)
- nfstest.host(3)
- packet.application.dns_const(3)
- nfstest.file_io(3)
- packet.internet.arp(3)
- packet.nfs.nlm4(3)
- nfstest_dio(1)
- nfstest_delegation(1)
- packet.link.erf(3)
- packet.utils(3)
- nfstest_lock(1)
- packet.pktt(3)
- packet.link.ethernet_const(3)
- baseobj(3)
- packet.nfs.nfs3(3)
- nfstest_pkt(1)
- packet.nfs.nlm4_const(3)
- packet.nfs.nfs(3)
- packet.internet.ipv6addr(3)
- packet.transport.ib(3)
- packet.transport.tcp(3)
- nfstest_rdma(1)
- nfstest_alloc(1)
- packet.nfs.nfs3_const(3)
- packet.transport.ddp(3)
- nfstest.nfs_util(3)
- nfstest_cache(1)
- packet.record(3)
- packet.application.rpcordma_const(3)
- nfstest_sparse(1)
- nfstest_io(1)
- packet.application.gss(3)
- nfstest_xattr(1)
- packet.nfs.nfs4_const(3)
- nfstest_interop(1)
- nfstest_xid(1)
- nfstest_posix(1)
- packet.application.rpc(3)
- packet.application.rpcordma(3)
- packet.transport.mpa(3)
- nfstest_ssc(1)
- packet.pkt(3)
- packet.link.sllv2(3)
- packet.transport.rdmainfo(3)
- nfstest(1)
- packet.nfs.mount3(3)
- nfstest.rexec(3)
- packet.derunpack(3)
- packet.transport.udp(3)
- packet.unpack(3)
- packet.application.krb5_const(3)
- nfstest_pnfs(1)
- packet.nfs.portmap2(3)
- packet.nfs.mount3_const(3)
- packet.application.dns(3)
- packet.transport.rdmap(3)
- packet.internet.ipv6(3)
- packet.nfs.nfs4(3)
- packet.application.krb5(3)
- packet.nfs.portmap2_const(3)
- packet.link.vlan(3)
- nfstest.utils(3)
- packet.application.ntp4(3)
- packet.link.sllv1(3)
- packet.application.rpc_creds(3)
- packet.application.rpc_const(3)
- nfstest_file(1)
- packet.internet.arp_const(3)
- packet.nfs.nfsbase(3)
- formatstr(3)
- packet.internet.ipv4(3)
- nfstest_fcmp(1)
- nfstest.test_util(3)
- packet.link.macaddr(3)
apt-get install nfstest
Manual
NFSTEST_POSIX
NAMESYNOPSIS
DESCRIPTION
OPTIONS
NFS specific options:
Logging options:
Packet trace options:
File options:
Path options:
Debug options:
Reporting options:
Test options:
TESTS
access
chdir
close
closedir
creat
fcntl
fdatasync
fstat
fstatvfs
fsync
link
lseek
lstat
mkdir
mmap
munmap
opendir
read
readdir
readlink
rename
rewinddir
rmdir
seekdir
stat
statvfs
symlink
sync
telldir
unlink
write
open
chmod
all
EXAMPLES
NOTES
SEE ALSO
BUGS
AUTHOR
NAME
nfstest_posix - POSIX file system level access tests
SYNOPSIS
nfstest_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
File where options are specified besides the system wide file /etc/nfstest, user wide file $HOME/.nfstest or in the current directory .nfstest file
NFS specific options:
-s SERVER, --server=SERVER
Server name or IP address
-e EXPORT, --export=EXPORT
Exported file system to mount [default: ’/’]
--nfsversion=NFSVERSION
NFS version, e.g., 3, 4, 4.1, etc. [default: 4.1]
-m MTPOINT, --mtpoint=MTPOINT
Mount point [default: ’/mnt/t’]
-p PORT, --port=PORT
NFS server port [default: 2049]
--proto=PROTO
NFS protocol name [default: ’tcp’]
--sec=SEC
Security flavor [default: ’sys’]
--nconnect=NCONNECT
Multiple TCP connections option [default: ’1’]
-o MTOPTS, --mtopts=MTOPTS
Mount options [default: ’hard,rsize=4096,wsize=4096’]
--datadir=DATADIR
Data directory where files are created, directory is created on the mount point [default: ’’]
Logging options:
-v VERBOSE, --verbose=VERBOSE
Verbose level for debug messages [default: ’opts|info|dbg1|dbg2|dbg3’]
--tverbose=TVERBOSE
Verbose level for test messages [default: ’1’]
--createlog
Create log file
--rexeclog
Create rexec log files
--warnings
Display warnings
--tag=TAG
Informational tag, it is displayed as an INFO message [default: ’’]
--notty
Do not use terminal colors on output
--isatty
Use terminal colors on output -- useful when running with nohup
Packet trace options:
--createtraces
Create a packet trace for each test
--tbsize=TBSIZE
Capture buffer size for tcpdump [default: 192k]
--trcdelay=TRCDELAY
Seconds to delay before stopping packet trace [default: 2.0]
--keeptraces
Do not remove any trace files [default: remove trace files if no errors]
--rmtraces
Remove trace files [default: remove trace files if no errors]
-i INTERFACE, --interface=INTERFACE
Device interface [default: automatically selected]
File options:
--nfiles=NFILES
Number of files to create [default: 2]
--filesize=FILESIZE
File size to use for test files [default: 64k]
--rsize=RSIZE
Read size to use when reading files [default: 4k]
--wsize=WSIZE
Write size to use when writing files [default: 4k]
--iodelay=IODELAY
Seconds to delay I/O operations [default: 0.1]
--offset-delta=OFFSET_DELTA
Read/Write offset delta [default: 4k]
Path options:
--sudo=SUDO
Full path of binary for sudo [default: ’/usr/bin/sudo’]
--kill=KILL
Full path of binary for kill [default: ’/usr/bin/kill’]
--nfsstat=NFSSTAT
Full path of binary for nfsstat [default: ’/usr/sbin/nfsstat’]
--tcpdump=TCPDUMP
Full path of binary for tcpdump [default: ’/usr/sbin/tcpdump’]
--iptables=IPTABLES
Full path of binary for iptables [default: ’/usr/sbin/iptables’]
--messages=MESSAGES
Full path of log messages file [default: ’/var/log/messages’]
--trcevents=TRCEVENTS
Full path of tracing events directory [default: ’/sys/kernel/debug/tracing/events’]
--trcpipe=TRCPIPE
Full path of trace pipe file [default: ’/sys/kernel/debug/tracing/trace_pipe’]
--tmpdir=TMPDIR
Temporary directory [default: ’/tmp’]
Debug options:
--nocleanup
Do not cleanup created files
--notimestamps
Do not display timestamps in debug messages
--bugmsgs=BUGMSGS
File containing test messages to mark as bugs if they failed
--nomount
Do not mount server and run the tests on local disk space
--basename=BASENAME
Base name for all files and logs [default: automatically generated]
--nfsdebug=NFSDEBUG
Set NFS kernel debug flags and save log messages [default: ’’]
--rpcdebug=RPCDEBUG
Set RPC kernel debug flags and save log messages [default: ’’]
--tracepoints=TRACEPOINTS
List of trace points modules to enable [default: ’’]
--nfsstats
Get NFS stats [default: ’False’]
--pktdisp
Display main packets related to the given test
--nfserrors
Fail every NFS error found in the packet trace
--client-ipaddr=CLIENT_IPADDR
IP address of localhost
Reporting options:
--xunit-report
Generate xUnit compatible test report
--xunit-report-file=XUNIT_REPORT_FILE
Path to xout report file
Test options:
--runtest=RUNTEST
Comma separated list of tests to run, if list starts with a ’ˆ’ then all tests are run except the ones listed [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.
close
Verify POSIX API
close() works and that writing to a closed file
descriptor returns an error.
closedir
Verify POSIX API closedir() works
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 performing 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.
mmap
Verify POSIX API
mmap() by mapping a file and verifying I/O
operations. Verify mmap followed by memory read of existing
file works. Verify mmap followed by memory write to file
works.
munmap
Verify POSIX API
munmap() by mapping a file and then unmapping
the file.
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
parent’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
structure 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 opened 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.
all
Run all tests:
access, chdir, close, closedir, creat, fcntl, fdatasync,
fstat, fstatvfs, fsync, link, lseek, lstat, mkdir, mmap,
munmap,
opendir, read, readdir, readlink, rename, rewinddir, rmdir,
seekdir,
stat, statvfs, symlink, sync, telldir, unlink, write, open,
chmod
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 ALSO
nfstest.test_util(3), nfstest_alloc(1), nfstest_cache(1), nfstest_delegation(1), nfstest_dio(1), nfstest_fcmp(1), nfstest_file(1), nfstest_interop(1), nfstest_io(1), nfstest_lock(1), nfstest_pkt(1), nfstest_pnfs(1), nfstest_rdma(1), nfstest_sparse(1), nfstest_ssc(1), nfstest_xattr(1), nfstest_xid(1), packet.nfs.nfs3_const(3), packet.nfs.nfs4_const(3)
BUGS
No known bugs.
AUTHOR
Jorge Mora (mora@netapp.com)