1NFSTEST_DIO(1)                  nfstest_dio 1.5                 NFSTEST_DIO(1)
2
3
4

NAME

6       nfstest_dio - Direct I/O tests
7

SYNOPSIS

9       nfstest_dio --server <server> [options]
10

DESCRIPTION

12       Functional direct I/O tests verify that every READ/WRITE is sent to the
13       server instead of the client caching the requests. Client bypasses read
14       ahead  by  sending  the  READ with only the requested bytes. Verify the
15       client correctly handles eof marker when reading the whole file. Verify
16       client ignores delegation while writing a file.
17
18       Direct  I/O on pNFS tests verify the client sends the READ/WRITE to the
19       correct DS or the MDS if using a PAGESIZE aligned buffer  or  not,  re‐
20       spectively.
21
22       Direct  I/O  data  correctness  tests  verify  that a file written with
23       buffered I/O is read correctly with direct  I/O.  Verify  that  a  file
24       written with direct I/O is read correctly with buffered I/O.
25
26       Vectored  I/O  tests  verify  coalescence  of multiple vectors into one
27       READ/WRITE packet when all vectors are PAGESIZE aligned.  Vectors  with
28       different alignments are sent on separate packets.
29
30       Valid for NFSv4.0 and NFSv4.1 including pNFS.
31
32
33

OPTIONS

35       --version
36              show program's version number and exit
37
38       -h, --help
39              show this help message and exit
40
41       -f FILE, --file=FILE
42              File  where  options  are specified besides the system wide file
43              /etc/nfstest, user wide file $HOME/.nfstest or  in  the  current
44              directory .nfstest file
45
46
47   NFS specific options:
48       -s SERVER, --server=SERVER
49              Server name or IP address
50
51       -e EXPORT, --export=EXPORT
52              Exported file system to mount [default: '/']
53
54       --nfsversion=NFSVERSION
55              NFS version, e.g., 3, 4, 4.1, etc. [default: 4.1]
56
57       -m MTPOINT, --mtpoint=MTPOINT
58              Mount point [default: '/mnt/t']
59
60       -p PORT, --port=PORT
61              NFS server port [default: 2049]
62
63       --proto=PROTO
64              NFS protocol name [default: 'tcp']
65
66       --sec=SEC
67              Security flavor [default: 'sys']
68
69       --nconnect=NCONNECT
70              Multiple TCP connections option [default: '1']
71
72       -o MTOPTS, --mtopts=MTOPTS
73              Mount options [default: 'hard,intr']
74
75       --datadir=DATADIR
76              Data  directory where files are created, directory is created on
77              the mount point [default: '']
78
79
80   Logging options:
81       -v VERBOSE, --verbose=VERBOSE
82              Verbose     level     for     debug      messages      [default:
83              'opts|info|dbg1|dbg2|dbg3']
84
85       --tverbose=TVERBOSE
86              Verbose level for test messages [default: '1']
87
88       --createlog
89              Create log file
90
91       --rexeclog
92              Create rexec log files
93
94       --warnings
95              Display warnings
96
97       --tag=TAG
98              Informational  tag, it is displayed as an INFO message [default:
99              '']
100
101       --notty
102              Do not use terminal colors on output
103
104       --isatty
105              Use terminal colors on output -- useful when running with nohup
106
107
108   Packet trace options:
109       --createtraces
110              Create a packet trace for each test
111
112       --tbsize=TBSIZE
113              Capture buffer size for tcpdump [default: 192k]
114
115       --trcdelay=TRCDELAY
116              Seconds to delay before stopping packet trace [default: 2.0]
117
118       --keeptraces
119              Do not remove any trace files [default: remove trace files if no
120              errors]
121
122       --rmtraces
123              Remove trace files [default: remove trace files if no errors]
124
125       -i INTERFACE, --interface=INTERFACE
126              Device interface [default: automatically selected]
127
128
129   File options:
130       --nfiles=NFILES
131              Number of files to create [default: 2]
132
133       --filesize=FILESIZE
134              File size to use for test files [default: 262144]
135
136       --rsize=RSIZE
137              Read size to use when reading files [default: 4k]
138
139       --wsize=WSIZE
140              Write size to use when writing files [default: 4k]
141
142       --iodelay=IODELAY
143              Seconds to delay I/O operations [default: 0.1]
144
145       --offset-delta=OFFSET_DELTA
146              Read/Write offset delta [default: 4k]
147
148
149   Path options:
150       --sudo=SUDO
151              Full path of binary for sudo [default: '/usr/bin/sudo']
152
153       --kill=KILL
154              Full path of binary for kill [default: '/usr/bin/kill']
155
156       --nfsstat=NFSSTAT
157              Full path of binary for nfsstat [default: '/usr/sbin/nfsstat']
158
159       --tcpdump=TCPDUMP
160              Full path of binary for tcpdump [default: '/usr/sbin/tcpdump']
161
162       --iptables=IPTABLES
163              Full path of binary for iptables [default: '/usr/sbin/iptables']
164
165       --messages=MESSAGES
166              Full path of log messages file [default: '/var/log/messages']
167
168       --trcevents=TRCEVENTS
169              Full path of tracing events directory [default: '/sys/kernel/de‐
170              bug/tracing/events']
171
172       --trcpipe=TRCPIPE
173              Full path of trace pipe file [default:  '/sys/kernel/debug/trac‐
174              ing/trace_pipe']
175
176       --tmpdir=TMPDIR
177              Temporary directory [default: '/tmp']
178
179
180   Debug options:
181       --nocleanup
182              Do not cleanup created files
183
184       --notimestamps
185              Do not display timestamps in debug messages
186
187       --bugmsgs=BUGMSGS
188              File containing test messages to mark as bugs if they failed
189
190       --nomount
191              Do not mount server and run the tests on local disk space
192
193       --basename=BASENAME
194              Base  name for all files and logs [default: automatically gener‐
195              ated]
196
197       --nfsdebug=NFSDEBUG
198              Set NFS kernel debug flags and save log messages [default: '']
199
200       --rpcdebug=RPCDEBUG
201              Set RPC kernel debug flags and save log messages [default: '']
202
203       --tracepoints=TRACEPOINTS
204              List of trace points modules to enable [default: '']
205
206       --nfsstats
207              Get NFS stats [default: 'False']
208
209       --pktdisp
210              Display main packets related to the given test
211
212       --nfserrors
213              Fail every NFS error found in the packet trace
214
215       --client-ipaddr=CLIENT_IPADDR
216              IP address of localhost
217
218
219   Reporting options:
220       --xunit-report
221              Generate xUnit compatible test report
222
223       --xunit-report-file=XUNIT_REPORT_FILE
224              Path to xout report file
225
226
227   Test options:
228       --runtest=RUNTEST
229              Comma separated list of tests to run, if list starts with a  '^'
230              then all tests are run except the ones listed [default: 'all']
231
232       --iotype=IOTYPE
233              List of I/O types to test [default: 'read,write']
234
235       --biotype=BIOTYPE
236              List of buffered I/O types to test [default: 'none,read,write']
237
238       --withdeleg=WITHDELEG
239              Use  delegation on tests [default: both without and with delega‐
240              tion]
241

TESTS

243   eof
244       Verify eof marker is handled correctly when reading the end
245       of the file.
246
247   correctness
248       Verify data correctness when reading/writing using direct I/O.
249       File created with buffered I/O is read correctly with direct I/O.
250       File created with direct I/O is read correctly with buffered I/O.
251
252   fstat
253       Verify fstat() gets correct file size after writing.
254
255   read
256       Verify READ is sent after writing when the file is open for
257       both read and write.
258
259   read_ahead
260       Verify READ is sent with only the requested bytes bypassing
261       read ahead.
262
263   basic
264       Verify a packet is sent for each I/O request.
265
266   rsize
267       Verify multiple READ packets are sent for each read request
268       having request size > rsize.
269
270   wsize
271       Verify multiple WRITE packets are sent for each write request
272       having request size > wsize
273
274   aligned
275       Verify packet is sent to correct DS server when using a memory
276       which is PAGESIZE aligned.
277
278   nonaligned
279       Verify packet is sent to the MDS when using a memory which
280       is not PAGESIZE aligned.
281
282   diffalign
283       Verify packets are sent to both the MDS and correct DS on same open
284       using buffers with different alignments.
285
286   stripesize
287       Verify multiple packets are sent for each request having the
288       request size greater than stripe size.
289
290   vectored_io
291       Verify vectored I/O functionality.
292
293   all
294       Run all tests: eof, correctness, fstat, read, read_ahead, basic, rsize,
295       wsize, aligned, nonaligned, diffalign, stripesize, vectored_io
296

EXAMPLES

298       The only required option is --server
299       $ nfstest_dio --server 192.168.0.11
300

NOTES

302       The user id in the local host must have access to run commands as  root
303       using the 'sudo' command without the need for a password.
304

SEE ALSO

306       formatstr(3), nfstest.test_util(3), nfstest_alloc(1), nfstest_cache(1),
307       nfstest_delegation(1),  nfstest_fcmp(1),  nfstest_file(1),  nfstest_in‐
308       terop(1),    nfstest_io(1),    nfstest_lock(1),   nfstest_pkt(1),   nf‐
309       stest_pnfs(1),  nfstest_posix(1),  nfstest_rdma(1),  nfstest_sparse(1),
310       nfstest_ssc(1),            nfstest_xattr(1),            nfstest_xid(1),
311       packet.nfs.nfs3_const(3), packet.nfs.nfs4_const(3)
312
313

BUGS

315       No known bugs.
316

AUTHOR

318       Jorge Mora (mora@netapp.com)
319
320
321
322NFStest 3.2                      21 March 2023                  NFSTEST_DIO(1)
Impressum