nfstest_file - Man Page

Find all packets for a specific file

Synopsis

nfstest_file [options] -p <filepath> <trace1.cap> [<trace2.cap> ...]

Description

Display all NFS packets for the specified path. It takes a relative path, where it searches for each of the directory entries given in the path until it gets the file handle for the directory where the file is located. Once the directory file handle is found, a LOOKUP or OPEN/CREATE is searched for the given file name. If the file lookup or creation is found, all file handles and state ids associated with that file are searched and all packets found, including their respective replies are displayed.

There are three levels of verbosity in which they are specified using a bitmap, where the most significant bit gives a more verbose output. Verbose level 1 is used as a default where each packet is displayed condensed to one line using the last layer of the packet as the main output.

The packet trace files are processed either serially or in parallel. The packets are displayed using their timestamps so they are always displayed in the correct order even if the files given are out of order. If the packet traces were captured one after the other the packets are displayed serially, first the packets of the first file according to their timestamps, then the second and so forth. If the packet traces were captured at the same time on multiple clients the packets are displayed in parallel, packets are interleaved from all the files when displayed again according to their timestamps.

Note: A packet call can be displayed out of order if the call is not matched by any of the file handles, state ids or names but its reply is matched so its corresponding call is displayed right before the reply.

Options

--version

show program's version number and exit

-h,  --help

show this help message and exit

-p PATH, --path=PATH

Path relative to the mount point, the path can be specified by its file handle 'FH:0xc3f001b4'. Also the relative path could start with a directory file handle 'DH:0x0c35bb58/file_name'

--stid=STID

State id to include in the search

-v VERBOSE, --verbose=VERBOSE

Verbose level bitmask [default: 1].  bitmap 0x01: one line per packet.  bitmap 0x02: one line per layer. bitmap 0x04: real verbose.

-s START, --start=START

Start index [default: 0]

-e END, --end=END

End index [default: 0]

-z TZ, --tz=TZ

Time zone to use to display timestamps

--progress=PROGRESS

Display progress bar [default: 1]

Packet display

--frame=FRAME

Display record frame number [default: 0]

--index=INDEX

Display packet number [default: 1]

--crc16=CRC16

Display CRC16 encoded strings [default: True]

--crc32=CRC32

Display CRC32 encoded strings [default: True]

--strsize=STRSIZE

Truncate all strings to this size [default: 0]

Debug

--enum-check=ENUM_CHECK

If set to True, enums are strictly enforced [default: False]

--enum-repr=ENUM_REPR

If set to True, enums are displayed as numbers [default: False]

--debug-level=DEBUG_LEVEL

Set debug level messages

Examples

# Find all packets for relative path: nfstest_file -p data/name_d_1/name_d_2/name_f_13 nested_dir_v3.cap

# Find all packets for relative path, starting with a directory file handle: nfstest_file -p DH:0x34ac5f28/name_d_1/name_d_2/name_f_13 nested_dir_v3.cap

# Find all packets for file, starting with a directory file handle: nfstest_file -p DH:0x0c35bb58/name_f_13 nested_dir_v3.cap

# Find all packets for file handle nfstest_file -p FH:0xc3f001b4 /tmp/trace.cap

# Find all packets for file, including all operations for the given state id nfstest_file -p f00000001 --stid 0x0fd4 /tmp/trace.cap

# Display all packets for file (one line per layer) nfstest_file -p f00000001 -v 2 /tmp/trace.cap

# Display all packets for file
# (real verbose, all items in each layer are displayed) nfstest_file -p f00000001 -v 4 /tmp/trace.cap

# Display all packets for file (display both verbose level 1 and 2) nfstest_file -p f00000001 -v 3 /tmp/trace.cap

# Display packets for file between packets 100 through 199
$ nfstest_file -p f00000001 -s 100 -e 200 /tmp/trace.cap

# Display all packets truncating all strings to 100 bytes
# This is useful when some packets are very large and there
# is no need to display all the data
$ nfstest_file -p f00000001 --strsize 100 -v 2 /tmp/trace.cap

# Display packets using India time zone
$ nfstest_file -p f00000001 --tz "UTC-5:30" /tmp/trace.cap
$ nfstest_file -p f00000001 --tz "Asia/Kolkata" /tmp/trace.cap

# Display all packets for file found in all trace files given
# The packets are displayed in order using their timestamps
$ nfstest_file -p f00000001 trace1.cap trace2.cap trace3.cap

See Also

formatstr(3), nfstest_alloc(1), nfstest_cache(1), nfstest_delegation(1), nfstest_dio(1), nfstest_fcmp(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), packet.nfs.nfs3_const(3), packet.nfs.nfs4_const(3), packet.pktt(3), packet.record(3), packet.utils(3)

Bugs

No known bugs.

Author

Jorge Mora (mora@netapp.com)

Referenced By

nfstest(1), nfstest_alloc(1), nfstest_cache(1), nfstest_delegation(1), nfstest_dio(1), nfstest_fcmp(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).

21 March 2023 NFStest 3.2 nfstest_file 1.2