Provided by: nfstest_3.2-3_all bug

NAME

       nfstest_sparse - Sparse file tests

SYNOPSIS

       nfstest_sparse --server <server> [options]

DESCRIPTION

       Verify  correct  functionality  of sparse files. These are files which have unallocated or
       uninitialized data blocks as holes. The new NFSv4.2 operation SEEK is used to  search  for
       the next hole or data segment in a file.

       Basic  tests verify the SEEK operation returns the correct offset of the next hole or data
       with respect to the starting offset given  to  the  seek  system  call.  Verify  the  SEEK
       operation  is sent to the server with the correct stateid as a READ call. All files have a
       virtual hole at the end of the file so when searching for the next hole, even if the  file
       does not have a hole, it returns the size of the file.

       Some  tests  include testing at the protocol level by taking a packet trace and inspecting
       the actual packets sent to the server.

       Negative tests include trying to SEEK starting from an offset beyond the end of the file.

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.2]

       -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

   seek
       Run all SEEK tests: seek01, seek02, seek03, seek04

   seek01
       Verify SEEK succeeds searching for the next data

   seek02
       Verify SEEK succeeds searching for the next hole

   seek03
       Verify SEEK searching for next data fails with ENXIO when offset is beyond the end of the file

   seek04
       Verify SEEK searching for next hole fails with ENXIO when offset is beyond the end of the file

   all
       Run all tests: seek01, seek02, seek03, seek04

EXAMPLES

       The only required option is --server
       $ nfstest_sparse --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.

       Valid only for NFS version 4.2 and above.

SEE ALSO

       nfstest.test_util(3),      nfstest.utils(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_posix(1),   nfstest_rdma(1),   nfstest_ssc(1),  nfstest_xattr(1),  nfstest_xid(1),
       packet.nfs.nfs4_const(3)

BUGS

       No known bugs.

AUTHOR

       Jorge Mora (mora@netapp.com)