---
name: "nfstest_pnfs"
section: "1"
platform: "linux"
package: "nfstest"
version: "3.2-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/nfstest_pnfs"
---

# nfstest\_pnfs(1)

Basic pNFS functional tests

## NAME

nfstest\_pnfs - Basic pNFS functional tests

## SYNOPSIS

nfstest\_pnfs --server \<server\> \[options\]

## DESCRIPTION

Verify basic pNFS functionality for file (both READ and WRITE), including opening a second file within the same mount and having a lock on the file. Also, verify basic pNFS functionality for a file opened for both READ and WRITE while reading the file first and then writing to it or the other way around by writing to the file fist and then reading the file. These tests verify proper functionality of pNFS and NFSv4.1 as well.

## 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

### read

```
Verify basic pNFS functionality on a couple of files opened for
reading within the same mount.
```

### write

```
Verify basic pNFS functionality on a couple of files opened for
writing and then re-opening the first file for writing within
the same mount.
```

### read\_write

```
Verify basic pNFS functionality on a couple of files opened for
reading and then re-opening the first file for writing within
the same mount.
```

### write\_read

```
Verify basic pNFS functionality on a couple of files opened for
writing and then re-opening the first file for reading within
the same mount.
```

### read\_lock

```
Verify traffic for locked file opened for reading using pNFS.
```

### write\_lock

```
Verify traffic for locked file opened for writing using pNFS.
```

### setattr

```
Verify setattr traffic for file using pNFS.
```

### setattr\_lock

```
Verify setattr traffic for locked file using pNFS.
```

### rw\_read

```
Verify traffic for file opened for read and write: reading file first.
```

### rw\_write

```
Verify traffic for file opened for read and write: writing file first.
```

### one\_ds

```
Verify client only connects to the DS with I/O.
```

### rsize

```
Verify traffic for file using pNFS when mount option rsize < 4096.
```

### wsize

```
Verify traffic for file using pNFS when mount option wsize < 4096.
```

### rwsize

```
Verify traffic for file using pNFS when mount option rsize < 4096 and wsize < 4096.
```

### nfsvers

```
Verify file created with pNFS is read correctly from different versions
of NFS. Also, verify files created with different versions of NFS are
read correctly from pNFS
```

### all

```
Run all tests: read, write, read_write, write_read, read_lock,
write_lock, setattr, setattr_lock, rw_read, rw_write, one_ds, rsize,
wsize, rwsize, nfsvers
```

## EXAMPLES

The only required option is --server\
 $ nfstest\_pnfs --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

**[formatstr(3)](/formatstr/3.md),** **[nfstest.test\_util(3)](/nfstest.test_util/3.md),** **[nfstest\_alloc(1)](/nfstest_alloc/1.md),** **[nfstest\_cache(1)](/nfstest_cache/1.md),** **[nfstest\_delegation(1)](/nfstest_delegation/1.md),** **[nfstest\_dio(1)](/nfstest_dio/1.md),** **[nfstest\_fcmp(1)](/nfstest_fcmp/1.md),** **[nfstest\_file(1)](/nfstest_file/1.md),** **[nfstest\_interop(1)](/nfstest_interop/1.md),** **[nfstest\_io(1)](/nfstest_io/1.md),** **[nfstest\_lock(1)](/nfstest_lock/1.md),** **[nfstest\_pkt(1)](/nfstest_pkt/1.md),** **[nfstest\_posix(1)](/nfstest_posix/1.md),** **[nfstest\_rdma(1)](/nfstest_rdma/1.md),** **[nfstest\_sparse(1)](/nfstest_sparse/1.md),** **[nfstest\_ssc(1)](/nfstest_ssc/1.md),** **[nfstest\_xattr(1)](/nfstest_xattr/1.md),** **[nfstest\_xid(1)](/nfstest_xid/1.md),** **[packet.nfs.nfs4\_const(3)](/packet.nfs.nfs4_const/3.md)**

## BUGS

No known bugs.

## AUTHOR

Jorge Mora (mora@netapp.com)
