nfstest_delegation (1) - Linux Manuals
nfstest_delegation: Delegation tests
NAME
nfstest_delegation - Delegation testsSYNOPSIS
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 conflicting operation is sent to the server from a different client. Conflicting 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_DELEGATE_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 delegation. The LOCK should be sent as well right before returning a delegation 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
-
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']
- -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: 'none']
- --tverbose=TVERBOSE
- Verbose level for test messages [default: '1']
- --createlog
- Create log file
- --warnings
- Display warnings
- --tag=TAG
-
Informational tag, it is displayed as an INFO message
[default: '']
Packet trace options:
- --createtraces
- Create a packet trace for each test
- --tbsize=TBSIZE
- Capture buffer size for tcpdump [default: '50000']
- --trcdelay=TRCDELAY
- Seconds to delay before stopping packet trace [default: 0.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: 65536]
- --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]
Path options:
- --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']
Debug options:
- --nocleanup
- Do not cleanup created files
- --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 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: '']
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']
- --client=CLIENT
- Remote NFS client used for recall tests
- --lock-offset=LOCK_OFFSET
- Starting offset for lock [default: 0]
- --lock-len=LOCK_LEN
- Number of bytes to lock [default: 0]
- --truncate
- Truncate file when writing from the second file for the recall tests
TESTS
basic
Run all basic delegation tests: read, write, read_stat, write_stat, read_lock, write_lock
read
Basic read delegation test
write
Basic write delegation test
read_stat
Basic read delegation test with file stat
write_stat
Basic write delegation test with file stat
read_lock
Basic read delegation test with file lock
write_lock
Basic write delegation test with file lock
recall
Run all recall delegation tests: read_recall_write, write_recall_write, read_recall_write_lock, write_recall_write_lock, write_recall_read, write_recall_read_lock, read_recall_setattr, write_recall_setattr, read_recall_setattr_lock, write_recall_setattr_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.
BUGS
No known bugs.AUTHOR
Jorge Mora (mora [at] netapp.com)