NFSTEST_DELEGATION(1) nfstest_delegation 1.0.1 NFSTEST_DELEGATION(1)NAME
nfstest_delegation - Delegation tests
SYNOPSIS
nfstest_delegation --server <server> [--client <client>] [options]
DESCRIPTION
Basic delegation tests verify that a correct delegation is granted when
opening a file for reading or writing. Also, another OPEN should not be
sent for the same file when the client is holding a delegation. Verify
that the stateid of all I/O operations should be the delegation
stateid. Reads from a different process on the same file should not
cause the client to send additional READ packets when the client is
holding a read delegation. Furthermore, a LOCK packet should not be
sent to the server when the client is holding a delegation.
Recall delegation tests verify the delegation is recalled when a con‐
flicting operation is sent to the server from a different client. Con‐
flicting operations are reading, writing and changing the permissions
on the same file. Note, that reading a file from a different client can
only recall a read delegation. Also, verify that a delegation is not
recalled when a different client is granted a read delegation. After a
delegation is recalled, the client should send an OPEN with CLAIM_DELE‐
GATE_CUR before returning the delegation and the stateid should be the
same as the original OPEN stateid. Also, a delegation should not be
granted when re-opening the file right before returning the delegation.
Verify client flushes all written data before returning the WRITE dele‐
gation. The LOCK should be sent as well right before returning a dele‐
gation which has been recalled. A delegation should not be granted on
the second client who cause the delegation recall on the first client.
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']
--client=CLIENT
Remote NFS client that mounts server used for multiple client
tests
--lock-offset=LOCK_OFFSET
Starting offset for lock [default: 0]
--lock-len=LOCK_LEN
Number of bytes to lock [default: 0]
TESTS
read
Basic read delegation test
write
Basic write delegation test
read_lock
Basic read delegation test with file lock
write_lock
Basic write delegation test with file lock
read_recall_write
Recall read delegation by writing from a second client
write_recall_write
Recall write delegation by writing from a second client
read_recall_write_lock
Recall read delegation by writing from a second client with file lock
write_recall_write_lock
Recall write delegation by writing from a second client with file lock
write_recall_read
Recall write delegation by reading from a second client
write_recall_read_lock
Recall write delegation by reading from a second client with file lock
read_recall_setattr
Recall read delegation by changing the permissions to the file
write_recall_setattr
Recall write delegation by changing the permissions to the file
read_recall_setattr_lock
Recall read delegation by changing the permissions to the file with
file lock
write_recall_setattr_lock
Recall write delegation by changing the permissions to the file with
file lock
EXAMPLES
The only required option is --server but only the basic delegation
tests will be run. Use the --client option to run the recall tests as
well
$ nfstest_delegation --server 192.168.0.11 --client 192.168.0.20
NOTES
The user id in the local host and the host specified by --client must
have access to run commands as root using the 'sudo' command without
the need for a password.
The user id must be able to 'ssh' to remote host without the need for a
password.
SEE ALSOnfstest.test_util(1), nfstest_cache(1), nfstest_dio(1),
nfstest_pnfs(1), nfstest_posix(1)BUGS
No known bugs.
AUTHOR
Jorge Mora (mora@netapp.com)
NFStest 1.0.2 10 April 2013 NFSTEST_DELEGATION(1)