1NFSTEST_DIO(1) nfstest_dio 1.5 NFSTEST_DIO(1)
2
3
4
6 nfstest_dio - Direct I/O tests
7
9 nfstest_dio --server <server> [options]
10
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
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
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
298 The only required option is --server
299 $ nfstest_dio --server 192.168.0.11
300
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
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
315 No known bugs.
316
318 Jorge Mora (mora@netapp.com)
319
320
321
322NFStest 3.2 21 March 2023 NFSTEST_DIO(1)