1NFSTEST_DIO(1) nfstest_dio 1.2 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,
20 respectively.
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 -o MTOPTS, --mtopts=MTOPTS
70 Mount options [default: 'hard,intr']
71
72 --datadir=DATADIR
73 Data directory where files are created, directory is created on
74 the mount point [default: '']
75
76
77 Logging options:
78 -v VERBOSE, --verbose=VERBOSE
79 Verbose level for debug messages [default: 'none']
80
81 --tverbose=TVERBOSE
82 Verbose level for test messages [default: '1']
83
84 --createlog
85 Create log file
86
87 --rexeclog
88 Create rexec log files
89
90 --warnings
91 Display warnings
92
93 --tag=TAG
94 Informational tag, it is displayed as an INFO message [default:
95 '']
96
97 --notty
98 Do not use terminal colors on output
99
100
101 Packet trace options:
102 --createtraces
103 Create a packet trace for each test
104
105 --tbsize=TBSIZE
106 Capture buffer size for tcpdump [default: 192k]
107
108 --trcdelay=TRCDELAY
109 Seconds to delay before stopping packet trace [default: 0.0]
110
111 --keeptraces
112 Do not remove any trace files [default: remove trace files if no
113 errors]
114
115 --rmtraces
116 Remove trace files [default: remove trace files if no errors]
117
118 -i INTERFACE, --interface=INTERFACE
119 Device interface [default: automatically selected]
120
121
122 File options:
123 --nfiles=NFILES
124 Number of files to create [default: 2]
125
126 --filesize=FILESIZE
127 File size to use for test files [default: 262144]
128
129 --rsize=RSIZE
130 Read size to use when reading files [default: 4k]
131
132 --wsize=WSIZE
133 Write size to use when writing files [default: 4k]
134
135 --iodelay=IODELAY
136 Seconds to delay I/O operations [default: 0.1]
137
138 --offset-delta=OFFSET_DELTA
139 Read/Write offset delta [default: 4k]
140
141
142 Path options:
143 --sudo=SUDO
144 Full path of binary for sudo [default: '/usr/bin/sudo']
145
146 --tcpdump=TCPDUMP
147 Full path of binary for tcpdump [default: '/usr/sbin/tcpdump']
148
149 --iptables=IPTABLES
150 Full path of binary for iptables [default: '/usr/sbin/iptables']
151
152 --messages=MESSAGES
153 Full path of log messages file [default: '/var/log/messages']
154
155 --tmpdir=TMPDIR
156 Temporary directory [default: '/tmp']
157
158
159 Debug options:
160 --nocleanup
161 Do not cleanup created files
162
163 --bugmsgs=BUGMSGS
164 File containing test messages to mark as bugs if they failed
165
166 --ignore
167 Ignore all bugs given by bugmsgs
168
169 --nomount
170 Do not mount server and run the tests on local disk space
171
172 --basename=BASENAME
173 Base name for all files and logs [default: automatically gener‐
174 ated]
175
176 --nfsdebug=NFSDEBUG
177 Set NFS kernel debug flags and save log messages [default: '']
178
179 --rpcdebug=RPCDEBUG
180 Set RPC kernel debug flags and save log messages [default: '']
181
182 --pktdisp
183 Display main packets related to the given test
184
185
186 Test options:
187 --runtest=RUNTEST
188 Comma separated list of tests to run, if list starts with a '^'
189 then all tests are run except the ones listed [default: 'all']
190
191 --iotype=IOTYPE
192 List of I/O types to test [default: 'read,write']
193
194 --biotype=BIOTYPE
195 List of buffered I/O types to test [default: 'none,read,write']
196
197 --withdeleg=WITHDELEG
198 Use delegation on tests [default: both without and with delega‐
199 tion]
200
202 eof
203 Verify eof marker is handled correctly when reading the end
204 of the file.
205
206 correctness
207 Verify data correctness when reading/writing using direct I/O.
208 File created with buffered I/O is read correctly with direct I/O.
209 File created with direct I/O is read correctly with buffered I/O.
210
211 fstat
212 Verify fstat() gets correct file size after writing.
213
214 read
215 Verify READ is sent after writing when the file is open for
216 both read and write.
217
218 read_ahead
219 Verify READ is sent with only the requested bytes bypassing
220 read ahead.
221
222 basic
223 Verify a packet is sent for each I/O request.
224
225 rsize
226 Verify multiple READ packets are sent for each read request
227 having request size > rsize.
228
229 wsize
230 Verify multiple WRITE packets are sent for each write request
231 having request size > wsize
232
233 aligned
234 Verify packet is sent to correct DS server when using a memory
235 which is PAGESIZE aligned.
236
237 nonaligned
238 Verify packet is sent to the MDS when using a memory which
239 is not PAGESIZE aligned.
240
241 diffalign
242 Verify packets are sent to both the MDS and correct DS on same open
243 using buffers with different alignments.
244
245 stripesize
246 Verify multiple packets are sent for each request having the
247 request size greater than stripe size.
248
249 vectored_io
250 Verify vectored I/O functionality.
251
253 The only required option is --server
254 $ nfstest_dio --server 192.168.0.11
255
257 The user id in the local host must have access to run commands as root
258 using the 'sudo' command without the need for a password.
259
261 nfstest.test_util(3), nfstest_alloc(1), nfstest_cache(1), nfstest_dele‐
262 gation(1), nfstest_file(1), nfstest_interop(1), nfstest_io(1),
263 nfstest_lock(1), nfstest_pkt(1), nfstest_pnfs(1), nfstest_posix(1),
264 nfstest_sparse(1), nfstest_ssc(1), nfstest_xid(1),
265 packet.nfs.nfs4_const(3)
266
267
269 No known bugs.
270
272 Jorge Mora (mora@netapp.com)
273
274
275
276NFStest 2.1.5 14 February 2017 NFSTEST_DIO(1)