NFSTEST_CACHE(1)

NAME
nfstest_cache - NFS client side caching tests

SYNOPSIS
nfstest_cache --server <server> --client <client> [options]

DESCRIPTION
Verify consistency of attribute caching by varying acregmin, acregmax, acdirmin, acdirmax and actimo. Verify consistency of data caching by varying acregmin, acregmax, acdirmin, acdirmax and actimo.

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: 32]

--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']

--client=CLIENT
    Remote NFS client

--justbefore=JUSTBEFORE
    Time in seconds to test a condition just before it is expected to come true [default: 2]

--acmin=ACMIN
    Comma separated values to use for acregmin/acdirmin/actimeo [default: 10]

--acmax=ACMAX
    Comma separated values to use for acregmax/acdirmax, first value of acmin will be used as acregmin/acdirmin [default: 20]

TESTS

  acregmin_attr
Verify consistency of attribute caching by varying the
acregmin NFS option.

The cached information is assumed to be valid for attrtimeo
which starts at acregmin.

  acregmax_attr
Verify consistency of attribute caching by varying the
acregmax NFS option.

The cached information is assumed to be valid for attrtimeo which
starts at acregmin. An attribute revalidation to the server
that shows no attribute change doubles attrtimeo up to acregmax.
An attribute revalidation to the server that shows a change has
occurred resets it to acregmin.

  acdirmin_attr
Verify consistency of attribute caching by varying the
acdirmin NFS option.

The cached information is assumed to be valid for attrtimeo
which starts at acdirmin. Test that this is so.

  acdirmax_attr
Verify consistency of attribute caching by varying the
acdirmax NFS option.

The cached information is assumed to be valid for attrtimeo which
starts at acdirmin. An attribute revalidation to the server
that shows no attribute change doubles attrtimeo up to acdirmax.
An attribute revalidation to the server that shows a change has
occurred resets it to acdirmin.

  actimeo_attr
Verify consistency of attribute caching by varying the
actimeo NFS option.

The cached information is assumed to be valid for attrtimeo
which starts and ends at actimeo.

  acregmin_data
Verify consistency of data caching by varying the
acregmin NFS option.

  acregmax_data
Verify consistency of data caching by varying the
acregmax NFS option.

The cached information is assumed to be valid for attrtimeo which
starts at acregmin. An attribute revalidation to the server
that shows no attribute change doubles attrtimeo up to acregmax.
An attribute revalidation to the server that shows a change has
occurred resets it to acregmin.

  acdirmin_data
Verify consistency of data caching by varying the
acdirmin NFS option.

The cached information is assumed to be valid for attrtimeo
which starts at acdirmin. Test that this is so.

  acdirmax_data
Verify consistency of data caching by varying the
acdirmax NFS option.

The cached information is assumed to be valid for attrtimeo which
starts at acdirmin. An attribute revalidation to the server
that shows no attribute change doubles attrtimeo up to acdirmax.
An attribute revalidation to the server that shows a change has
occurred resets it to acdirmin.

  actimeo_data
Verify consistency of data caching by varying the
actimeo NFS option.

The cached information is assumed to be valid for attrtimeo
which starts and ends at actimeo.

  all
Run all tests: acregmin_attr, acregmax_attr, acdirmin_attr,
acdirmax_attr, actimeo_attr, acregmin_data, acregmax_data,
acdirmin_data, acdirmax_data, actimeo_data

EXAMPLES
Required options are --server and --client
$ nfstest_cache --server 192.168.0.11 --client 192.168.0.20

Testing with different values of --acmin and --acmax (this takes a long time)
$ nfstest_cache --server 192.168.0.11 --client 192.168.0.20 --acmin 10,20 --acmax 20,30,60,80

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 ALSO
nfstest.test_util(3), nfstest_alloc(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_sparse(1), nfstest_ssc(1), nfstest_xattr(1), nfstest_xid(1)

BUGS
No known bugs.

AUTHOR
Jorge Mora (mora@netapp.com)