]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-5.15/nfs-move-nfs-protocol-display-macros-to-global-heade.patch
Fixes for 5.15
[thirdparty/kernel/stable-queue.git] / queue-5.15 / nfs-move-nfs-protocol-display-macros-to-global-heade.patch
1 From b4ac3347df1477b8ff725fee5f09dbc5665d2318 Mon Sep 17 00:00:00 2001
2 From: Sasha Levin <sashal@kernel.org>
3 Date: Fri, 22 Oct 2021 16:17:03 -0400
4 Subject: NFS: Move NFS protocol display macros to global header
5
6 From: Chuck Lever <chuck.lever@oracle.com>
7
8 [ Upstream commit 8791545eda52e8f3bc48e3cd902e38bf4ba4c9de ]
9
10 Refactor: surface useful show_ macros so they can be shared between
11 the client and server trace code.
12
13 Additional clean up:
14 - Housekeeping: ensure the correct #include files are pulled in
15 and add proper TRACE_DEFINE_ENUM where they are missing
16 - Use a consistent naming scheme for the helpers
17 - Store values to be displayed symbolically as unsigned long, as
18 that is the type that the __print_yada() functions take
19
20 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
21 Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
22 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
23 ---
24 fs/nfs/nfs4trace.h | 403 ++++---------------------------------
25 fs/nfs/nfstrace.h | 117 ++---------
26 fs/nfs/pnfs.h | 4 -
27 fs/nfsd/trace.h | 1 +
28 include/linux/nfs4.h | 4 +
29 include/trace/events/nfs.h | 375 ++++++++++++++++++++++++++++++++++
30 6 files changed, 433 insertions(+), 471 deletions(-)
31 create mode 100644 include/trace/events/nfs.h
32
33 diff --git a/fs/nfs/nfs4trace.h b/fs/nfs/nfs4trace.h
34 index afbecdb8fa21b..635f13a8d44aa 100644
35 --- a/fs/nfs/nfs4trace.h
36 +++ b/fs/nfs/nfs4trace.h
37 @@ -12,309 +12,7 @@
38 #include <trace/events/sunrpc_base.h>
39
40 #include <trace/events/fs.h>
41 -
42 -TRACE_DEFINE_ENUM(EPERM);
43 -TRACE_DEFINE_ENUM(ENOENT);
44 -TRACE_DEFINE_ENUM(EIO);
45 -TRACE_DEFINE_ENUM(ENXIO);
46 -TRACE_DEFINE_ENUM(EACCES);
47 -TRACE_DEFINE_ENUM(EEXIST);
48 -TRACE_DEFINE_ENUM(EXDEV);
49 -TRACE_DEFINE_ENUM(ENOTDIR);
50 -TRACE_DEFINE_ENUM(EISDIR);
51 -TRACE_DEFINE_ENUM(EFBIG);
52 -TRACE_DEFINE_ENUM(ENOSPC);
53 -TRACE_DEFINE_ENUM(EROFS);
54 -TRACE_DEFINE_ENUM(EMLINK);
55 -TRACE_DEFINE_ENUM(ENAMETOOLONG);
56 -TRACE_DEFINE_ENUM(ENOTEMPTY);
57 -TRACE_DEFINE_ENUM(EDQUOT);
58 -TRACE_DEFINE_ENUM(ESTALE);
59 -TRACE_DEFINE_ENUM(EBADHANDLE);
60 -TRACE_DEFINE_ENUM(EBADCOOKIE);
61 -TRACE_DEFINE_ENUM(ENOTSUPP);
62 -TRACE_DEFINE_ENUM(ETOOSMALL);
63 -TRACE_DEFINE_ENUM(EREMOTEIO);
64 -TRACE_DEFINE_ENUM(EBADTYPE);
65 -TRACE_DEFINE_ENUM(EAGAIN);
66 -TRACE_DEFINE_ENUM(ELOOP);
67 -TRACE_DEFINE_ENUM(EOPNOTSUPP);
68 -TRACE_DEFINE_ENUM(EDEADLK);
69 -TRACE_DEFINE_ENUM(ENOMEM);
70 -TRACE_DEFINE_ENUM(EKEYEXPIRED);
71 -TRACE_DEFINE_ENUM(ETIMEDOUT);
72 -TRACE_DEFINE_ENUM(ERESTARTSYS);
73 -TRACE_DEFINE_ENUM(ECONNREFUSED);
74 -TRACE_DEFINE_ENUM(ECONNRESET);
75 -TRACE_DEFINE_ENUM(ENETUNREACH);
76 -TRACE_DEFINE_ENUM(EHOSTUNREACH);
77 -TRACE_DEFINE_ENUM(EHOSTDOWN);
78 -TRACE_DEFINE_ENUM(EPIPE);
79 -TRACE_DEFINE_ENUM(EPFNOSUPPORT);
80 -TRACE_DEFINE_ENUM(EPROTONOSUPPORT);
81 -
82 -TRACE_DEFINE_ENUM(NFS4_OK);
83 -TRACE_DEFINE_ENUM(NFS4ERR_ACCESS);
84 -TRACE_DEFINE_ENUM(NFS4ERR_ATTRNOTSUPP);
85 -TRACE_DEFINE_ENUM(NFS4ERR_ADMIN_REVOKED);
86 -TRACE_DEFINE_ENUM(NFS4ERR_BACK_CHAN_BUSY);
87 -TRACE_DEFINE_ENUM(NFS4ERR_BADCHAR);
88 -TRACE_DEFINE_ENUM(NFS4ERR_BADHANDLE);
89 -TRACE_DEFINE_ENUM(NFS4ERR_BADIOMODE);
90 -TRACE_DEFINE_ENUM(NFS4ERR_BADLAYOUT);
91 -TRACE_DEFINE_ENUM(NFS4ERR_BADLABEL);
92 -TRACE_DEFINE_ENUM(NFS4ERR_BADNAME);
93 -TRACE_DEFINE_ENUM(NFS4ERR_BADOWNER);
94 -TRACE_DEFINE_ENUM(NFS4ERR_BADSESSION);
95 -TRACE_DEFINE_ENUM(NFS4ERR_BADSLOT);
96 -TRACE_DEFINE_ENUM(NFS4ERR_BADTYPE);
97 -TRACE_DEFINE_ENUM(NFS4ERR_BADXDR);
98 -TRACE_DEFINE_ENUM(NFS4ERR_BAD_COOKIE);
99 -TRACE_DEFINE_ENUM(NFS4ERR_BAD_HIGH_SLOT);
100 -TRACE_DEFINE_ENUM(NFS4ERR_BAD_RANGE);
101 -TRACE_DEFINE_ENUM(NFS4ERR_BAD_SEQID);
102 -TRACE_DEFINE_ENUM(NFS4ERR_BAD_SESSION_DIGEST);
103 -TRACE_DEFINE_ENUM(NFS4ERR_BAD_STATEID);
104 -TRACE_DEFINE_ENUM(NFS4ERR_CB_PATH_DOWN);
105 -TRACE_DEFINE_ENUM(NFS4ERR_CLID_INUSE);
106 -TRACE_DEFINE_ENUM(NFS4ERR_CLIENTID_BUSY);
107 -TRACE_DEFINE_ENUM(NFS4ERR_COMPLETE_ALREADY);
108 -TRACE_DEFINE_ENUM(NFS4ERR_CONN_NOT_BOUND_TO_SESSION);
109 -TRACE_DEFINE_ENUM(NFS4ERR_DEADLOCK);
110 -TRACE_DEFINE_ENUM(NFS4ERR_DEADSESSION);
111 -TRACE_DEFINE_ENUM(NFS4ERR_DELAY);
112 -TRACE_DEFINE_ENUM(NFS4ERR_DELEG_ALREADY_WANTED);
113 -TRACE_DEFINE_ENUM(NFS4ERR_DELEG_REVOKED);
114 -TRACE_DEFINE_ENUM(NFS4ERR_DENIED);
115 -TRACE_DEFINE_ENUM(NFS4ERR_DIRDELEG_UNAVAIL);
116 -TRACE_DEFINE_ENUM(NFS4ERR_DQUOT);
117 -TRACE_DEFINE_ENUM(NFS4ERR_ENCR_ALG_UNSUPP);
118 -TRACE_DEFINE_ENUM(NFS4ERR_EXIST);
119 -TRACE_DEFINE_ENUM(NFS4ERR_EXPIRED);
120 -TRACE_DEFINE_ENUM(NFS4ERR_FBIG);
121 -TRACE_DEFINE_ENUM(NFS4ERR_FHEXPIRED);
122 -TRACE_DEFINE_ENUM(NFS4ERR_FILE_OPEN);
123 -TRACE_DEFINE_ENUM(NFS4ERR_GRACE);
124 -TRACE_DEFINE_ENUM(NFS4ERR_HASH_ALG_UNSUPP);
125 -TRACE_DEFINE_ENUM(NFS4ERR_INVAL);
126 -TRACE_DEFINE_ENUM(NFS4ERR_IO);
127 -TRACE_DEFINE_ENUM(NFS4ERR_ISDIR);
128 -TRACE_DEFINE_ENUM(NFS4ERR_LAYOUTTRYLATER);
129 -TRACE_DEFINE_ENUM(NFS4ERR_LAYOUTUNAVAILABLE);
130 -TRACE_DEFINE_ENUM(NFS4ERR_LEASE_MOVED);
131 -TRACE_DEFINE_ENUM(NFS4ERR_LOCKED);
132 -TRACE_DEFINE_ENUM(NFS4ERR_LOCKS_HELD);
133 -TRACE_DEFINE_ENUM(NFS4ERR_LOCK_RANGE);
134 -TRACE_DEFINE_ENUM(NFS4ERR_MINOR_VERS_MISMATCH);
135 -TRACE_DEFINE_ENUM(NFS4ERR_MLINK);
136 -TRACE_DEFINE_ENUM(NFS4ERR_MOVED);
137 -TRACE_DEFINE_ENUM(NFS4ERR_NAMETOOLONG);
138 -TRACE_DEFINE_ENUM(NFS4ERR_NOENT);
139 -TRACE_DEFINE_ENUM(NFS4ERR_NOFILEHANDLE);
140 -TRACE_DEFINE_ENUM(NFS4ERR_NOMATCHING_LAYOUT);
141 -TRACE_DEFINE_ENUM(NFS4ERR_NOSPC);
142 -TRACE_DEFINE_ENUM(NFS4ERR_NOTDIR);
143 -TRACE_DEFINE_ENUM(NFS4ERR_NOTEMPTY);
144 -TRACE_DEFINE_ENUM(NFS4ERR_NOTSUPP);
145 -TRACE_DEFINE_ENUM(NFS4ERR_NOT_ONLY_OP);
146 -TRACE_DEFINE_ENUM(NFS4ERR_NOT_SAME);
147 -TRACE_DEFINE_ENUM(NFS4ERR_NO_GRACE);
148 -TRACE_DEFINE_ENUM(NFS4ERR_NXIO);
149 -TRACE_DEFINE_ENUM(NFS4ERR_OLD_STATEID);
150 -TRACE_DEFINE_ENUM(NFS4ERR_OPENMODE);
151 -TRACE_DEFINE_ENUM(NFS4ERR_OP_ILLEGAL);
152 -TRACE_DEFINE_ENUM(NFS4ERR_OP_NOT_IN_SESSION);
153 -TRACE_DEFINE_ENUM(NFS4ERR_PERM);
154 -TRACE_DEFINE_ENUM(NFS4ERR_PNFS_IO_HOLE);
155 -TRACE_DEFINE_ENUM(NFS4ERR_PNFS_NO_LAYOUT);
156 -TRACE_DEFINE_ENUM(NFS4ERR_RECALLCONFLICT);
157 -TRACE_DEFINE_ENUM(NFS4ERR_RECLAIM_BAD);
158 -TRACE_DEFINE_ENUM(NFS4ERR_RECLAIM_CONFLICT);
159 -TRACE_DEFINE_ENUM(NFS4ERR_REJECT_DELEG);
160 -TRACE_DEFINE_ENUM(NFS4ERR_REP_TOO_BIG);
161 -TRACE_DEFINE_ENUM(NFS4ERR_REP_TOO_BIG_TO_CACHE);
162 -TRACE_DEFINE_ENUM(NFS4ERR_REQ_TOO_BIG);
163 -TRACE_DEFINE_ENUM(NFS4ERR_RESOURCE);
164 -TRACE_DEFINE_ENUM(NFS4ERR_RESTOREFH);
165 -TRACE_DEFINE_ENUM(NFS4ERR_RETRY_UNCACHED_REP);
166 -TRACE_DEFINE_ENUM(NFS4ERR_RETURNCONFLICT);
167 -TRACE_DEFINE_ENUM(NFS4ERR_ROFS);
168 -TRACE_DEFINE_ENUM(NFS4ERR_SAME);
169 -TRACE_DEFINE_ENUM(NFS4ERR_SHARE_DENIED);
170 -TRACE_DEFINE_ENUM(NFS4ERR_SEQUENCE_POS);
171 -TRACE_DEFINE_ENUM(NFS4ERR_SEQ_FALSE_RETRY);
172 -TRACE_DEFINE_ENUM(NFS4ERR_SEQ_MISORDERED);
173 -TRACE_DEFINE_ENUM(NFS4ERR_SERVERFAULT);
174 -TRACE_DEFINE_ENUM(NFS4ERR_STALE);
175 -TRACE_DEFINE_ENUM(NFS4ERR_STALE_CLIENTID);
176 -TRACE_DEFINE_ENUM(NFS4ERR_STALE_STATEID);
177 -TRACE_DEFINE_ENUM(NFS4ERR_SYMLINK);
178 -TRACE_DEFINE_ENUM(NFS4ERR_TOOSMALL);
179 -TRACE_DEFINE_ENUM(NFS4ERR_TOO_MANY_OPS);
180 -TRACE_DEFINE_ENUM(NFS4ERR_UNKNOWN_LAYOUTTYPE);
181 -TRACE_DEFINE_ENUM(NFS4ERR_UNSAFE_COMPOUND);
182 -TRACE_DEFINE_ENUM(NFS4ERR_WRONGSEC);
183 -TRACE_DEFINE_ENUM(NFS4ERR_WRONG_CRED);
184 -TRACE_DEFINE_ENUM(NFS4ERR_WRONG_TYPE);
185 -TRACE_DEFINE_ENUM(NFS4ERR_XDEV);
186 -
187 -TRACE_DEFINE_ENUM(NFS4ERR_RESET_TO_MDS);
188 -TRACE_DEFINE_ENUM(NFS4ERR_RESET_TO_PNFS);
189 -
190 -#define show_nfsv4_errors(error) \
191 - __print_symbolic(error, \
192 - { NFS4_OK, "OK" }, \
193 - /* Mapped by nfs4_stat_to_errno() */ \
194 - { EPERM, "EPERM" }, \
195 - { ENOENT, "ENOENT" }, \
196 - { EIO, "EIO" }, \
197 - { ENXIO, "ENXIO" }, \
198 - { EACCES, "EACCES" }, \
199 - { EEXIST, "EEXIST" }, \
200 - { EXDEV, "EXDEV" }, \
201 - { ENOTDIR, "ENOTDIR" }, \
202 - { EISDIR, "EISDIR" }, \
203 - { EFBIG, "EFBIG" }, \
204 - { ENOSPC, "ENOSPC" }, \
205 - { EROFS, "EROFS" }, \
206 - { EMLINK, "EMLINK" }, \
207 - { ENAMETOOLONG, "ENAMETOOLONG" }, \
208 - { ENOTEMPTY, "ENOTEMPTY" }, \
209 - { EDQUOT, "EDQUOT" }, \
210 - { ESTALE, "ESTALE" }, \
211 - { EBADHANDLE, "EBADHANDLE" }, \
212 - { EBADCOOKIE, "EBADCOOKIE" }, \
213 - { ENOTSUPP, "ENOTSUPP" }, \
214 - { ETOOSMALL, "ETOOSMALL" }, \
215 - { EREMOTEIO, "EREMOTEIO" }, \
216 - { EBADTYPE, "EBADTYPE" }, \
217 - { EAGAIN, "EAGAIN" }, \
218 - { ELOOP, "ELOOP" }, \
219 - { EOPNOTSUPP, "EOPNOTSUPP" }, \
220 - { EDEADLK, "EDEADLK" }, \
221 - /* RPC errors */ \
222 - { ENOMEM, "ENOMEM" }, \
223 - { EKEYEXPIRED, "EKEYEXPIRED" }, \
224 - { ETIMEDOUT, "ETIMEDOUT" }, \
225 - { ERESTARTSYS, "ERESTARTSYS" }, \
226 - { ECONNREFUSED, "ECONNREFUSED" }, \
227 - { ECONNRESET, "ECONNRESET" }, \
228 - { ENETUNREACH, "ENETUNREACH" }, \
229 - { EHOSTUNREACH, "EHOSTUNREACH" }, \
230 - { EHOSTDOWN, "EHOSTDOWN" }, \
231 - { EPIPE, "EPIPE" }, \
232 - { EPFNOSUPPORT, "EPFNOSUPPORT" }, \
233 - { EPROTONOSUPPORT, "EPROTONOSUPPORT" }, \
234 - /* NFSv4 native errors */ \
235 - { NFS4ERR_ACCESS, "ACCESS" }, \
236 - { NFS4ERR_ATTRNOTSUPP, "ATTRNOTSUPP" }, \
237 - { NFS4ERR_ADMIN_REVOKED, "ADMIN_REVOKED" }, \
238 - { NFS4ERR_BACK_CHAN_BUSY, "BACK_CHAN_BUSY" }, \
239 - { NFS4ERR_BADCHAR, "BADCHAR" }, \
240 - { NFS4ERR_BADHANDLE, "BADHANDLE" }, \
241 - { NFS4ERR_BADIOMODE, "BADIOMODE" }, \
242 - { NFS4ERR_BADLAYOUT, "BADLAYOUT" }, \
243 - { NFS4ERR_BADLABEL, "BADLABEL" }, \
244 - { NFS4ERR_BADNAME, "BADNAME" }, \
245 - { NFS4ERR_BADOWNER, "BADOWNER" }, \
246 - { NFS4ERR_BADSESSION, "BADSESSION" }, \
247 - { NFS4ERR_BADSLOT, "BADSLOT" }, \
248 - { NFS4ERR_BADTYPE, "BADTYPE" }, \
249 - { NFS4ERR_BADXDR, "BADXDR" }, \
250 - { NFS4ERR_BAD_COOKIE, "BAD_COOKIE" }, \
251 - { NFS4ERR_BAD_HIGH_SLOT, "BAD_HIGH_SLOT" }, \
252 - { NFS4ERR_BAD_RANGE, "BAD_RANGE" }, \
253 - { NFS4ERR_BAD_SEQID, "BAD_SEQID" }, \
254 - { NFS4ERR_BAD_SESSION_DIGEST, "BAD_SESSION_DIGEST" }, \
255 - { NFS4ERR_BAD_STATEID, "BAD_STATEID" }, \
256 - { NFS4ERR_CB_PATH_DOWN, "CB_PATH_DOWN" }, \
257 - { NFS4ERR_CLID_INUSE, "CLID_INUSE" }, \
258 - { NFS4ERR_CLIENTID_BUSY, "CLIENTID_BUSY" }, \
259 - { NFS4ERR_COMPLETE_ALREADY, "COMPLETE_ALREADY" }, \
260 - { NFS4ERR_CONN_NOT_BOUND_TO_SESSION, \
261 - "CONN_NOT_BOUND_TO_SESSION" }, \
262 - { NFS4ERR_DEADLOCK, "DEADLOCK" }, \
263 - { NFS4ERR_DEADSESSION, "DEAD_SESSION" }, \
264 - { NFS4ERR_DELAY, "DELAY" }, \
265 - { NFS4ERR_DELEG_ALREADY_WANTED, \
266 - "DELEG_ALREADY_WANTED" }, \
267 - { NFS4ERR_DELEG_REVOKED, "DELEG_REVOKED" }, \
268 - { NFS4ERR_DENIED, "DENIED" }, \
269 - { NFS4ERR_DIRDELEG_UNAVAIL, "DIRDELEG_UNAVAIL" }, \
270 - { NFS4ERR_DQUOT, "DQUOT" }, \
271 - { NFS4ERR_ENCR_ALG_UNSUPP, "ENCR_ALG_UNSUPP" }, \
272 - { NFS4ERR_EXIST, "EXIST" }, \
273 - { NFS4ERR_EXPIRED, "EXPIRED" }, \
274 - { NFS4ERR_FBIG, "FBIG" }, \
275 - { NFS4ERR_FHEXPIRED, "FHEXPIRED" }, \
276 - { NFS4ERR_FILE_OPEN, "FILE_OPEN" }, \
277 - { NFS4ERR_GRACE, "GRACE" }, \
278 - { NFS4ERR_HASH_ALG_UNSUPP, "HASH_ALG_UNSUPP" }, \
279 - { NFS4ERR_INVAL, "INVAL" }, \
280 - { NFS4ERR_IO, "IO" }, \
281 - { NFS4ERR_ISDIR, "ISDIR" }, \
282 - { NFS4ERR_LAYOUTTRYLATER, "LAYOUTTRYLATER" }, \
283 - { NFS4ERR_LAYOUTUNAVAILABLE, "LAYOUTUNAVAILABLE" }, \
284 - { NFS4ERR_LEASE_MOVED, "LEASE_MOVED" }, \
285 - { NFS4ERR_LOCKED, "LOCKED" }, \
286 - { NFS4ERR_LOCKS_HELD, "LOCKS_HELD" }, \
287 - { NFS4ERR_LOCK_RANGE, "LOCK_RANGE" }, \
288 - { NFS4ERR_MINOR_VERS_MISMATCH, "MINOR_VERS_MISMATCH" }, \
289 - { NFS4ERR_MLINK, "MLINK" }, \
290 - { NFS4ERR_MOVED, "MOVED" }, \
291 - { NFS4ERR_NAMETOOLONG, "NAMETOOLONG" }, \
292 - { NFS4ERR_NOENT, "NOENT" }, \
293 - { NFS4ERR_NOFILEHANDLE, "NOFILEHANDLE" }, \
294 - { NFS4ERR_NOMATCHING_LAYOUT, "NOMATCHING_LAYOUT" }, \
295 - { NFS4ERR_NOSPC, "NOSPC" }, \
296 - { NFS4ERR_NOTDIR, "NOTDIR" }, \
297 - { NFS4ERR_NOTEMPTY, "NOTEMPTY" }, \
298 - { NFS4ERR_NOTSUPP, "NOTSUPP" }, \
299 - { NFS4ERR_NOT_ONLY_OP, "NOT_ONLY_OP" }, \
300 - { NFS4ERR_NOT_SAME, "NOT_SAME" }, \
301 - { NFS4ERR_NO_GRACE, "NO_GRACE" }, \
302 - { NFS4ERR_NXIO, "NXIO" }, \
303 - { NFS4ERR_OLD_STATEID, "OLD_STATEID" }, \
304 - { NFS4ERR_OPENMODE, "OPENMODE" }, \
305 - { NFS4ERR_OP_ILLEGAL, "OP_ILLEGAL" }, \
306 - { NFS4ERR_OP_NOT_IN_SESSION, "OP_NOT_IN_SESSION" }, \
307 - { NFS4ERR_PERM, "PERM" }, \
308 - { NFS4ERR_PNFS_IO_HOLE, "PNFS_IO_HOLE" }, \
309 - { NFS4ERR_PNFS_NO_LAYOUT, "PNFS_NO_LAYOUT" }, \
310 - { NFS4ERR_RECALLCONFLICT, "RECALLCONFLICT" }, \
311 - { NFS4ERR_RECLAIM_BAD, "RECLAIM_BAD" }, \
312 - { NFS4ERR_RECLAIM_CONFLICT, "RECLAIM_CONFLICT" }, \
313 - { NFS4ERR_REJECT_DELEG, "REJECT_DELEG" }, \
314 - { NFS4ERR_REP_TOO_BIG, "REP_TOO_BIG" }, \
315 - { NFS4ERR_REP_TOO_BIG_TO_CACHE, \
316 - "REP_TOO_BIG_TO_CACHE" }, \
317 - { NFS4ERR_REQ_TOO_BIG, "REQ_TOO_BIG" }, \
318 - { NFS4ERR_RESOURCE, "RESOURCE" }, \
319 - { NFS4ERR_RESTOREFH, "RESTOREFH" }, \
320 - { NFS4ERR_RETRY_UNCACHED_REP, "RETRY_UNCACHED_REP" }, \
321 - { NFS4ERR_RETURNCONFLICT, "RETURNCONFLICT" }, \
322 - { NFS4ERR_ROFS, "ROFS" }, \
323 - { NFS4ERR_SAME, "SAME" }, \
324 - { NFS4ERR_SHARE_DENIED, "SHARE_DENIED" }, \
325 - { NFS4ERR_SEQUENCE_POS, "SEQUENCE_POS" }, \
326 - { NFS4ERR_SEQ_FALSE_RETRY, "SEQ_FALSE_RETRY" }, \
327 - { NFS4ERR_SEQ_MISORDERED, "SEQ_MISORDERED" }, \
328 - { NFS4ERR_SERVERFAULT, "SERVERFAULT" }, \
329 - { NFS4ERR_STALE, "STALE" }, \
330 - { NFS4ERR_STALE_CLIENTID, "STALE_CLIENTID" }, \
331 - { NFS4ERR_STALE_STATEID, "STALE_STATEID" }, \
332 - { NFS4ERR_SYMLINK, "SYMLINK" }, \
333 - { NFS4ERR_TOOSMALL, "TOOSMALL" }, \
334 - { NFS4ERR_TOO_MANY_OPS, "TOO_MANY_OPS" }, \
335 - { NFS4ERR_UNKNOWN_LAYOUTTYPE, "UNKNOWN_LAYOUTTYPE" }, \
336 - { NFS4ERR_UNSAFE_COMPOUND, "UNSAFE_COMPOUND" }, \
337 - { NFS4ERR_WRONGSEC, "WRONGSEC" }, \
338 - { NFS4ERR_WRONG_CRED, "WRONG_CRED" }, \
339 - { NFS4ERR_WRONG_TYPE, "WRONG_TYPE" }, \
340 - { NFS4ERR_XDEV, "XDEV" }, \
341 - /* ***** Internal to Linux NFS client ***** */ \
342 - { NFS4ERR_RESET_TO_MDS, "RESET_TO_MDS" }, \
343 - { NFS4ERR_RESET_TO_PNFS, "RESET_TO_PNFS" })
344 +#include <trace/events/nfs.h>
345
346 #define show_nfs_fattr_flags(valid) \
347 __print_flags((unsigned long)valid, "|", \
348 @@ -355,7 +53,7 @@ DECLARE_EVENT_CLASS(nfs4_clientid_event,
349 TP_printk(
350 "error=%ld (%s) dstaddr=%s",
351 -__entry->error,
352 - show_nfsv4_errors(__entry->error),
353 + show_nfs4_status(__entry->error),
354 __get_str(dstaddr)
355 )
356 );
357 @@ -379,29 +77,6 @@ DEFINE_NFS4_CLIENTID_EVENT(nfs4_bind_conn_to_session);
358 DEFINE_NFS4_CLIENTID_EVENT(nfs4_sequence);
359 DEFINE_NFS4_CLIENTID_EVENT(nfs4_reclaim_complete);
360
361 -#define show_nfs4_sequence_status_flags(status) \
362 - __print_flags((unsigned long)status, "|", \
363 - { SEQ4_STATUS_CB_PATH_DOWN, "CB_PATH_DOWN" }, \
364 - { SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRING, \
365 - "CB_GSS_CONTEXTS_EXPIRING" }, \
366 - { SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRED, \
367 - "CB_GSS_CONTEXTS_EXPIRED" }, \
368 - { SEQ4_STATUS_EXPIRED_ALL_STATE_REVOKED, \
369 - "EXPIRED_ALL_STATE_REVOKED" }, \
370 - { SEQ4_STATUS_EXPIRED_SOME_STATE_REVOKED, \
371 - "EXPIRED_SOME_STATE_REVOKED" }, \
372 - { SEQ4_STATUS_ADMIN_STATE_REVOKED, \
373 - "ADMIN_STATE_REVOKED" }, \
374 - { SEQ4_STATUS_RECALLABLE_STATE_REVOKED, \
375 - "RECALLABLE_STATE_REVOKED" }, \
376 - { SEQ4_STATUS_LEASE_MOVED, "LEASE_MOVED" }, \
377 - { SEQ4_STATUS_RESTART_RECLAIM_NEEDED, \
378 - "RESTART_RECLAIM_NEEDED" }, \
379 - { SEQ4_STATUS_CB_PATH_DOWN_SESSION, \
380 - "CB_PATH_DOWN_SESSION" }, \
381 - { SEQ4_STATUS_BACKCHANNEL_FAULT, \
382 - "BACKCHANNEL_FAULT" })
383 -
384 TRACE_EVENT(nfs4_sequence_done,
385 TP_PROTO(
386 const struct nfs4_session *session,
387 @@ -415,7 +90,7 @@ TRACE_EVENT(nfs4_sequence_done,
388 __field(unsigned int, seq_nr)
389 __field(unsigned int, highest_slotid)
390 __field(unsigned int, target_highest_slotid)
391 - __field(unsigned int, status_flags)
392 + __field(unsigned long, status_flags)
393 __field(unsigned long, error)
394 ),
395
396 @@ -434,16 +109,16 @@ TRACE_EVENT(nfs4_sequence_done,
397 TP_printk(
398 "error=%ld (%s) session=0x%08x slot_nr=%u seq_nr=%u "
399 "highest_slotid=%u target_highest_slotid=%u "
400 - "status_flags=%u (%s)",
401 + "status_flags=0x%lx (%s)",
402 -__entry->error,
403 - show_nfsv4_errors(__entry->error),
404 + show_nfs4_status(__entry->error),
405 __entry->session,
406 __entry->slot_nr,
407 __entry->seq_nr,
408 __entry->highest_slotid,
409 __entry->target_highest_slotid,
410 __entry->status_flags,
411 - show_nfs4_sequence_status_flags(__entry->status_flags)
412 + show_nfs4_seq4_status(__entry->status_flags)
413 )
414 );
415
416 @@ -480,7 +155,7 @@ TRACE_EVENT(nfs4_cb_sequence,
417 "error=%ld (%s) session=0x%08x slot_nr=%u seq_nr=%u "
418 "highest_slotid=%u",
419 -__entry->error,
420 - show_nfsv4_errors(__entry->error),
421 + show_nfs4_status(__entry->error),
422 __entry->session,
423 __entry->slot_nr,
424 __entry->seq_nr,
425 @@ -517,7 +192,7 @@ TRACE_EVENT(nfs4_cb_seqid_err,
426 "error=%ld (%s) session=0x%08x slot_nr=%u seq_nr=%u "
427 "highest_slotid=%u",
428 -__entry->error,
429 - show_nfsv4_errors(__entry->error),
430 + show_nfs4_status(__entry->error),
431 __entry->session,
432 __entry->slot_nr,
433 __entry->seq_nr,
434 @@ -653,7 +328,7 @@ TRACE_EVENT(nfs4_state_mgr_failed,
435 "hostname=%s clp state=%s error=%ld (%s) section=%s",
436 __get_str(hostname),
437 show_nfs4_clp_state(__entry->state), -__entry->error,
438 - show_nfsv4_errors(__entry->error), __get_str(section)
439 + show_nfs4_status(__entry->error), __get_str(section)
440
441 )
442 )
443 @@ -724,7 +399,7 @@ DECLARE_EVENT_CLASS(nfs4_xdr_event,
444 TP_printk(SUNRPC_TRACE_TASK_SPECIFIER
445 " xid=0x%08x error=%ld (%s) operation=%u",
446 __entry->task_id, __entry->client_id, __entry->xid,
447 - -__entry->error, show_nfsv4_errors(__entry->error),
448 + -__entry->error, show_nfs4_status(__entry->error),
449 __entry->op
450 )
451 );
452 @@ -839,7 +514,7 @@ DECLARE_EVENT_CLASS(nfs4_open_event,
453 "name=%02x:%02x:%llu/%s stateid=%d:0x%08x "
454 "openstateid=%d:0x%08x",
455 -__entry->error,
456 - show_nfsv4_errors(__entry->error),
457 + show_nfs4_status(__entry->error),
458 __entry->flags,
459 show_fs_fcntl_open_flags(__entry->flags),
460 show_fs_fmode_flags(__entry->fmode),
461 @@ -943,7 +618,7 @@ TRACE_EVENT(nfs4_close,
462 "error=%ld (%s) fmode=%s fileid=%02x:%02x:%llu "
463 "fhandle=0x%08x openstateid=%d:0x%08x",
464 -__entry->error,
465 - show_nfsv4_errors(__entry->error),
466 + show_nfs4_status(__entry->error),
467 __entry->fmode ? show_fs_fmode_flags(__entry->fmode) :
468 "closed",
469 MAJOR(__entry->dev), MINOR(__entry->dev),
470 @@ -998,7 +673,7 @@ DECLARE_EVENT_CLASS(nfs4_lock_event,
471 "fileid=%02x:%02x:%llu fhandle=0x%08x "
472 "stateid=%d:0x%08x",
473 -__entry->error,
474 - show_nfsv4_errors(__entry->error),
475 + show_nfs4_status(__entry->error),
476 show_fs_fcntl_cmd(__entry->cmd),
477 show_fs_fcntl_lock_type(__entry->type),
478 (long long)__entry->start,
479 @@ -1074,7 +749,7 @@ TRACE_EVENT(nfs4_set_lock,
480 "fileid=%02x:%02x:%llu fhandle=0x%08x "
481 "stateid=%d:0x%08x lockstateid=%d:0x%08x",
482 -__entry->error,
483 - show_nfsv4_errors(__entry->error),
484 + show_nfs4_status(__entry->error),
485 show_fs_fcntl_cmd(__entry->cmd),
486 show_fs_fcntl_lock_type(__entry->type),
487 (long long)__entry->start,
488 @@ -1240,7 +915,7 @@ TRACE_EVENT(nfs4_delegreturn_exit,
489 "error=%ld (%s) dev=%02x:%02x fhandle=0x%08x "
490 "stateid=%d:0x%08x",
491 -__entry->error,
492 - show_nfsv4_errors(__entry->error),
493 + show_nfs4_status(__entry->error),
494 MAJOR(__entry->dev), MINOR(__entry->dev),
495 __entry->fhandle,
496 __entry->stateid_seq, __entry->stateid_hash
497 @@ -1283,7 +958,7 @@ DECLARE_EVENT_CLASS(nfs4_test_stateid_event,
498 "error=%ld (%s) fileid=%02x:%02x:%llu fhandle=0x%08x "
499 "stateid=%d:0x%08x",
500 -__entry->error,
501 - show_nfsv4_errors(__entry->error),
502 + show_nfs4_status(__entry->error),
503 MAJOR(__entry->dev), MINOR(__entry->dev),
504 (unsigned long long)__entry->fileid,
505 __entry->fhandle,
506 @@ -1330,7 +1005,7 @@ DECLARE_EVENT_CLASS(nfs4_lookup_event,
507 TP_printk(
508 "error=%ld (%s) name=%02x:%02x:%llu/%s",
509 -__entry->error,
510 - show_nfsv4_errors(__entry->error),
511 + show_nfs4_status(__entry->error),
512 MAJOR(__entry->dev), MINOR(__entry->dev),
513 (unsigned long long)__entry->dir,
514 __get_str(name)
515 @@ -1377,7 +1052,7 @@ TRACE_EVENT(nfs4_lookupp,
516 TP_printk(
517 "error=%ld (%s) inode=%02x:%02x:%llu",
518 -__entry->error,
519 - show_nfsv4_errors(__entry->error),
520 + show_nfs4_status(__entry->error),
521 MAJOR(__entry->dev), MINOR(__entry->dev),
522 (unsigned long long)__entry->ino
523 )
524 @@ -1416,7 +1091,7 @@ TRACE_EVENT(nfs4_rename,
525 "error=%ld (%s) oldname=%02x:%02x:%llu/%s "
526 "newname=%02x:%02x:%llu/%s",
527 -__entry->error,
528 - show_nfsv4_errors(__entry->error),
529 + show_nfs4_status(__entry->error),
530 MAJOR(__entry->dev), MINOR(__entry->dev),
531 (unsigned long long)__entry->olddir,
532 __get_str(oldname),
533 @@ -1451,7 +1126,7 @@ DECLARE_EVENT_CLASS(nfs4_inode_event,
534 TP_printk(
535 "error=%ld (%s) fileid=%02x:%02x:%llu fhandle=0x%08x",
536 -__entry->error,
537 - show_nfsv4_errors(__entry->error),
538 + show_nfs4_status(__entry->error),
539 MAJOR(__entry->dev), MINOR(__entry->dev),
540 (unsigned long long)__entry->fileid,
541 __entry->fhandle
542 @@ -1509,7 +1184,7 @@ DECLARE_EVENT_CLASS(nfs4_inode_stateid_event,
543 "error=%ld (%s) fileid=%02x:%02x:%llu fhandle=0x%08x "
544 "stateid=%d:0x%08x",
545 -__entry->error,
546 - show_nfsv4_errors(__entry->error),
547 + show_nfs4_status(__entry->error),
548 MAJOR(__entry->dev), MINOR(__entry->dev),
549 (unsigned long long)__entry->fileid,
550 __entry->fhandle,
551 @@ -1562,7 +1237,7 @@ DECLARE_EVENT_CLASS(nfs4_getattr_event,
552 "error=%ld (%s) fileid=%02x:%02x:%llu fhandle=0x%08x "
553 "valid=%s",
554 -__entry->error,
555 - show_nfsv4_errors(__entry->error),
556 + show_nfs4_status(__entry->error),
557 MAJOR(__entry->dev), MINOR(__entry->dev),
558 (unsigned long long)__entry->fileid,
559 __entry->fhandle,
560 @@ -1618,7 +1293,7 @@ DECLARE_EVENT_CLASS(nfs4_inode_callback_event,
561 "error=%ld (%s) fileid=%02x:%02x:%llu fhandle=0x%08x "
562 "dstaddr=%s",
563 -__entry->error,
564 - show_nfsv4_errors(__entry->error),
565 + show_nfs4_status(__entry->error),
566 MAJOR(__entry->dev), MINOR(__entry->dev),
567 (unsigned long long)__entry->fileid,
568 __entry->fhandle,
569 @@ -1679,7 +1354,7 @@ DECLARE_EVENT_CLASS(nfs4_inode_stateid_callback_event,
570 "error=%ld (%s) fileid=%02x:%02x:%llu fhandle=0x%08x "
571 "stateid=%d:0x%08x dstaddr=%s",
572 -__entry->error,
573 - show_nfsv4_errors(__entry->error),
574 + show_nfs4_status(__entry->error),
575 MAJOR(__entry->dev), MINOR(__entry->dev),
576 (unsigned long long)__entry->fileid,
577 __entry->fhandle,
578 @@ -1728,7 +1403,7 @@ DECLARE_EVENT_CLASS(nfs4_idmap_event,
579
580 TP_printk(
581 "error=%ld (%s) id=%u name=%s",
582 - -__entry->error, show_nfsv4_errors(__entry->error),
583 + -__entry->error, show_nfs4_status(__entry->error),
584 __entry->id,
585 __get_str(name)
586 )
587 @@ -1806,7 +1481,7 @@ DECLARE_EVENT_CLASS(nfs4_read_event,
588 "offset=%lld count=%u res=%u stateid=%d:0x%08x "
589 "layoutstateid=%d:0x%08x",
590 -__entry->error,
591 - show_nfsv4_errors(__entry->error),
592 + show_nfs4_status(__entry->error),
593 MAJOR(__entry->dev), MINOR(__entry->dev),
594 (unsigned long long)__entry->fileid,
595 __entry->fhandle,
596 @@ -1880,7 +1555,7 @@ DECLARE_EVENT_CLASS(nfs4_write_event,
597 "offset=%lld count=%u res=%u stateid=%d:0x%08x "
598 "layoutstateid=%d:0x%08x",
599 -__entry->error,
600 - show_nfsv4_errors(__entry->error),
601 + show_nfs4_status(__entry->error),
602 MAJOR(__entry->dev), MINOR(__entry->dev),
603 (unsigned long long)__entry->fileid,
604 __entry->fhandle,
605 @@ -1944,7 +1619,7 @@ DECLARE_EVENT_CLASS(nfs4_commit_event,
606 "error=%ld (%s) fileid=%02x:%02x:%llu fhandle=0x%08x "
607 "offset=%lld count=%u layoutstateid=%d:0x%08x",
608 -__entry->error,
609 - show_nfsv4_errors(__entry->error),
610 + show_nfs4_status(__entry->error),
611 MAJOR(__entry->dev), MINOR(__entry->dev),
612 (unsigned long long)__entry->fileid,
613 __entry->fhandle,
614 @@ -1964,16 +1639,6 @@ DEFINE_NFS4_COMMIT_EVENT(nfs4_commit);
615 #ifdef CONFIG_NFS_V4_1
616 DEFINE_NFS4_COMMIT_EVENT(nfs4_pnfs_commit_ds);
617
618 -TRACE_DEFINE_ENUM(IOMODE_READ);
619 -TRACE_DEFINE_ENUM(IOMODE_RW);
620 -TRACE_DEFINE_ENUM(IOMODE_ANY);
621 -
622 -#define show_pnfs_iomode(iomode) \
623 - __print_symbolic(iomode, \
624 - { IOMODE_READ, "READ" }, \
625 - { IOMODE_RW, "RW" }, \
626 - { IOMODE_ANY, "ANY" })
627 -
628 TRACE_EVENT(nfs4_layoutget,
629 TP_PROTO(
630 const struct nfs_open_context *ctx,
631 @@ -2029,11 +1694,11 @@ TRACE_EVENT(nfs4_layoutget,
632 "iomode=%s offset=%llu count=%llu stateid=%d:0x%08x "
633 "layoutstateid=%d:0x%08x",
634 -__entry->error,
635 - show_nfsv4_errors(__entry->error),
636 + show_nfs4_status(__entry->error),
637 MAJOR(__entry->dev), MINOR(__entry->dev),
638 (unsigned long long)__entry->fileid,
639 __entry->fhandle,
640 - show_pnfs_iomode(__entry->iomode),
641 + show_pnfs_layout_iomode(__entry->iomode),
642 (unsigned long long)__entry->offset,
643 (unsigned long long)__entry->count,
644 __entry->stateid_seq, __entry->stateid_hash,
645 @@ -2127,7 +1792,7 @@ TRACE_EVENT(pnfs_update_layout,
646 MAJOR(__entry->dev), MINOR(__entry->dev),
647 (unsigned long long)__entry->fileid,
648 __entry->fhandle,
649 - show_pnfs_iomode(__entry->iomode),
650 + show_pnfs_layout_iomode(__entry->iomode),
651 (unsigned long long)__entry->pos,
652 (unsigned long long)__entry->count,
653 __entry->layoutstateid_seq, __entry->layoutstateid_hash,
654 @@ -2181,7 +1846,7 @@ DECLARE_EVENT_CLASS(pnfs_layout_event,
655 MAJOR(__entry->dev), MINOR(__entry->dev),
656 (unsigned long long)__entry->fileid,
657 __entry->fhandle,
658 - show_pnfs_iomode(__entry->iomode),
659 + show_pnfs_layout_iomode(__entry->iomode),
660 (unsigned long long)__entry->pos,
661 (unsigned long long)__entry->count,
662 __entry->layoutstateid_seq, __entry->layoutstateid_hash,
663 @@ -2326,7 +1991,7 @@ DECLARE_EVENT_CLASS(nfs4_flexfiles_io_event,
664 "error=%ld (%s) fileid=%02x:%02x:%llu fhandle=0x%08x "
665 "offset=%llu count=%u stateid=%d:0x%08x dstaddr=%s",
666 -__entry->error,
667 - show_nfsv4_errors(__entry->error),
668 + show_nfs4_status(__entry->error),
669 MAJOR(__entry->dev), MINOR(__entry->dev),
670 (unsigned long long)__entry->fileid,
671 __entry->fhandle,
672 @@ -2382,7 +2047,7 @@ TRACE_EVENT(ff_layout_commit_error,
673 "error=%ld (%s) fileid=%02x:%02x:%llu fhandle=0x%08x "
674 "offset=%llu count=%u dstaddr=%s",
675 -__entry->error,
676 - show_nfsv4_errors(__entry->error),
677 + show_nfs4_status(__entry->error),
678 MAJOR(__entry->dev), MINOR(__entry->dev),
679 (unsigned long long)__entry->fileid,
680 __entry->fhandle,
681 diff --git a/fs/nfs/nfstrace.h b/fs/nfs/nfstrace.h
682 index 918237677a383..f6013d3b110b8 100644
683 --- a/fs/nfs/nfstrace.h
684 +++ b/fs/nfs/nfstrace.h
685 @@ -12,6 +12,7 @@
686 #include <linux/iversion.h>
687
688 #include <trace/events/fs.h>
689 +#include <trace/events/nfs.h>
690 #include <trace/events/sunrpc_base.h>
691
692 #define nfs_show_cache_validity(v) \
693 @@ -115,7 +116,7 @@ DECLARE_EVENT_CLASS(nfs_inode_event_done,
694 "error=%ld (%s) fileid=%02x:%02x:%llu fhandle=0x%08x "
695 "type=%u (%s) version=%llu size=%lld "
696 "cache_validity=0x%lx (%s) nfs_flags=0x%lx (%s)",
697 - -__entry->error, nfs_show_status(__entry->error),
698 + -__entry->error, show_nfs_status(__entry->error),
699 MAJOR(__entry->dev), MINOR(__entry->dev),
700 (unsigned long long)__entry->fileid,
701 __entry->fhandle,
702 @@ -206,7 +207,7 @@ TRACE_EVENT(nfs_access_exit,
703 "type=%u (%s) version=%llu size=%lld "
704 "cache_validity=0x%lx (%s) nfs_flags=0x%lx (%s) "
705 "mask=0x%x permitted=0x%x",
706 - -__entry->error, nfs_show_status(__entry->error),
707 + -__entry->error, show_nfs_status(__entry->error),
708 MAJOR(__entry->dev), MINOR(__entry->dev),
709 (unsigned long long)__entry->fileid,
710 __entry->fhandle,
711 @@ -292,7 +293,7 @@ DECLARE_EVENT_CLASS(nfs_lookup_event_done,
712
713 TP_printk(
714 "error=%ld (%s) flags=0x%lx (%s) name=%02x:%02x:%llu/%s",
715 - -__entry->error, nfs_show_status(__entry->error),
716 + -__entry->error, show_nfs_status(__entry->error),
717 __entry->flags,
718 show_fs_lookup_flags(__entry->flags),
719 MAJOR(__entry->dev), MINOR(__entry->dev),
720 @@ -383,7 +384,7 @@ TRACE_EVENT(nfs_atomic_open_exit,
721 TP_printk(
722 "error=%ld (%s) flags=0x%lx (%s) fmode=%s "
723 "name=%02x:%02x:%llu/%s",
724 - -__entry->error, nfs_show_status(__entry->error),
725 + -__entry->error, show_nfs_status(__entry->error),
726 __entry->flags,
727 show_fs_fcntl_open_flags(__entry->flags),
728 show_fs_fmode_flags(__entry->fmode),
729 @@ -454,7 +455,7 @@ TRACE_EVENT(nfs_create_exit,
730
731 TP_printk(
732 "error=%ld (%s) flags=0x%lx (%s) name=%02x:%02x:%llu/%s",
733 - -__entry->error, nfs_show_status(__entry->error),
734 + -__entry->error, show_nfs_status(__entry->error),
735 __entry->flags,
736 show_fs_fcntl_open_flags(__entry->flags),
737 MAJOR(__entry->dev), MINOR(__entry->dev),
738 @@ -524,7 +525,7 @@ DECLARE_EVENT_CLASS(nfs_directory_event_done,
739
740 TP_printk(
741 "error=%ld (%s) name=%02x:%02x:%llu/%s",
742 - -__entry->error, nfs_show_status(__entry->error),
743 + -__entry->error, show_nfs_status(__entry->error),
744 MAJOR(__entry->dev), MINOR(__entry->dev),
745 (unsigned long long)__entry->dir,
746 __get_str(name)
747 @@ -614,7 +615,7 @@ TRACE_EVENT(nfs_link_exit,
748
749 TP_printk(
750 "error=%ld (%s) fileid=%02x:%02x:%llu name=%02x:%02x:%llu/%s",
751 - -__entry->error, nfs_show_status(__entry->error),
752 + -__entry->error, show_nfs_status(__entry->error),
753 MAJOR(__entry->dev), MINOR(__entry->dev),
754 __entry->fileid,
755 MAJOR(__entry->dev), MINOR(__entry->dev),
756 @@ -701,7 +702,7 @@ DECLARE_EVENT_CLASS(nfs_rename_event_done,
757 TP_printk(
758 "error=%ld (%s) old_name=%02x:%02x:%llu/%s "
759 "new_name=%02x:%02x:%llu/%s",
760 - -__entry->error, nfs_show_status(__entry->error),
761 + -__entry->error, show_nfs_status(__entry->error),
762 MAJOR(__entry->dev), MINOR(__entry->dev),
763 (unsigned long long)__entry->old_dir,
764 __get_str(old_name),
765 @@ -755,7 +756,7 @@ TRACE_EVENT(nfs_sillyrename_unlink,
766
767 TP_printk(
768 "error=%ld (%s) name=%02x:%02x:%llu/%s",
769 - -__entry->error, nfs_show_status(__entry->error),
770 + -__entry->error, show_nfs_status(__entry->error),
771 MAJOR(__entry->dev), MINOR(__entry->dev),
772 (unsigned long long)__entry->dir,
773 __get_str(name)
774 @@ -938,16 +939,6 @@ TRACE_EVENT(nfs_pgio_error,
775 )
776 );
777
778 -TRACE_DEFINE_ENUM(NFS_UNSTABLE);
779 -TRACE_DEFINE_ENUM(NFS_DATA_SYNC);
780 -TRACE_DEFINE_ENUM(NFS_FILE_SYNC);
781 -
782 -#define nfs_show_stable(stable) \
783 - __print_symbolic(stable, \
784 - { NFS_UNSTABLE, "UNSTABLE" }, \
785 - { NFS_DATA_SYNC, "DATA_SYNC" }, \
786 - { NFS_FILE_SYNC, "FILE_SYNC" })
787 -
788 TRACE_EVENT(nfs_initiate_write,
789 TP_PROTO(
790 const struct nfs_pgio_header *hdr
791 @@ -961,7 +952,7 @@ TRACE_EVENT(nfs_initiate_write,
792 __field(u64, fileid)
793 __field(loff_t, offset)
794 __field(u32, count)
795 - __field(enum nfs3_stable_how, stable)
796 + __field(unsigned long, stable)
797 ),
798
799 TP_fast_assign(
800 @@ -985,7 +976,7 @@ TRACE_EVENT(nfs_initiate_write,
801 (unsigned long long)__entry->fileid,
802 __entry->fhandle,
803 (long long)__entry->offset, __entry->count,
804 - nfs_show_stable(__entry->stable)
805 + show_nfs_stable_how(__entry->stable)
806 )
807 );
808
809 @@ -1005,7 +996,7 @@ TRACE_EVENT(nfs_writeback_done,
810 __field(u32, arg_count)
811 __field(u32, res_count)
812 __field(int, status)
813 - __field(enum nfs3_stable_how, stable)
814 + __field(unsigned long, stable)
815 __array(char, verifier, NFS4_VERIFIER_SIZE)
816 ),
817
818 @@ -1038,8 +1029,8 @@ TRACE_EVENT(nfs_writeback_done,
819 __entry->fhandle,
820 (long long)__entry->offset, __entry->arg_count,
821 __entry->res_count, __entry->status,
822 - nfs_show_stable(__entry->stable),
823 - __print_hex_str(__entry->verifier, NFS4_VERIFIER_SIZE)
824 + show_nfs_stable_how(__entry->stable),
825 + show_nfs4_verifier(__entry->verifier)
826 )
827 );
828
829 @@ -1140,7 +1131,7 @@ TRACE_EVENT(nfs_commit_done,
830 __field(u64, fileid)
831 __field(loff_t, offset)
832 __field(int, status)
833 - __field(enum nfs3_stable_how, stable)
834 + __field(unsigned long, stable)
835 __array(char, verifier, NFS4_VERIFIER_SIZE)
836 ),
837
838 @@ -1169,8 +1160,8 @@ TRACE_EVENT(nfs_commit_done,
839 (unsigned long long)__entry->fileid,
840 __entry->fhandle,
841 (long long)__entry->offset, __entry->status,
842 - nfs_show_stable(__entry->stable),
843 - __print_hex_str(__entry->verifier, NFS4_VERIFIER_SIZE)
844 + show_nfs_stable_how(__entry->stable),
845 + show_nfs4_verifier(__entry->verifier)
846 )
847 );
848
849 @@ -1207,76 +1198,6 @@ TRACE_EVENT(nfs_fh_to_dentry,
850 )
851 );
852
853 -TRACE_DEFINE_ENUM(NFS_OK);
854 -TRACE_DEFINE_ENUM(NFSERR_PERM);
855 -TRACE_DEFINE_ENUM(NFSERR_NOENT);
856 -TRACE_DEFINE_ENUM(NFSERR_IO);
857 -TRACE_DEFINE_ENUM(NFSERR_NXIO);
858 -TRACE_DEFINE_ENUM(ECHILD);
859 -TRACE_DEFINE_ENUM(NFSERR_EAGAIN);
860 -TRACE_DEFINE_ENUM(NFSERR_ACCES);
861 -TRACE_DEFINE_ENUM(NFSERR_EXIST);
862 -TRACE_DEFINE_ENUM(NFSERR_XDEV);
863 -TRACE_DEFINE_ENUM(NFSERR_NODEV);
864 -TRACE_DEFINE_ENUM(NFSERR_NOTDIR);
865 -TRACE_DEFINE_ENUM(NFSERR_ISDIR);
866 -TRACE_DEFINE_ENUM(NFSERR_INVAL);
867 -TRACE_DEFINE_ENUM(NFSERR_FBIG);
868 -TRACE_DEFINE_ENUM(NFSERR_NOSPC);
869 -TRACE_DEFINE_ENUM(NFSERR_ROFS);
870 -TRACE_DEFINE_ENUM(NFSERR_MLINK);
871 -TRACE_DEFINE_ENUM(NFSERR_OPNOTSUPP);
872 -TRACE_DEFINE_ENUM(NFSERR_NAMETOOLONG);
873 -TRACE_DEFINE_ENUM(NFSERR_NOTEMPTY);
874 -TRACE_DEFINE_ENUM(NFSERR_DQUOT);
875 -TRACE_DEFINE_ENUM(NFSERR_STALE);
876 -TRACE_DEFINE_ENUM(NFSERR_REMOTE);
877 -TRACE_DEFINE_ENUM(NFSERR_WFLUSH);
878 -TRACE_DEFINE_ENUM(NFSERR_BADHANDLE);
879 -TRACE_DEFINE_ENUM(NFSERR_NOT_SYNC);
880 -TRACE_DEFINE_ENUM(NFSERR_BAD_COOKIE);
881 -TRACE_DEFINE_ENUM(NFSERR_NOTSUPP);
882 -TRACE_DEFINE_ENUM(NFSERR_TOOSMALL);
883 -TRACE_DEFINE_ENUM(NFSERR_SERVERFAULT);
884 -TRACE_DEFINE_ENUM(NFSERR_BADTYPE);
885 -TRACE_DEFINE_ENUM(NFSERR_JUKEBOX);
886 -
887 -#define nfs_show_status(x) \
888 - __print_symbolic(x, \
889 - { NFS_OK, "OK" }, \
890 - { NFSERR_PERM, "PERM" }, \
891 - { NFSERR_NOENT, "NOENT" }, \
892 - { NFSERR_IO, "IO" }, \
893 - { NFSERR_NXIO, "NXIO" }, \
894 - { ECHILD, "CHILD" }, \
895 - { NFSERR_EAGAIN, "AGAIN" }, \
896 - { NFSERR_ACCES, "ACCES" }, \
897 - { NFSERR_EXIST, "EXIST" }, \
898 - { NFSERR_XDEV, "XDEV" }, \
899 - { NFSERR_NODEV, "NODEV" }, \
900 - { NFSERR_NOTDIR, "NOTDIR" }, \
901 - { NFSERR_ISDIR, "ISDIR" }, \
902 - { NFSERR_INVAL, "INVAL" }, \
903 - { NFSERR_FBIG, "FBIG" }, \
904 - { NFSERR_NOSPC, "NOSPC" }, \
905 - { NFSERR_ROFS, "ROFS" }, \
906 - { NFSERR_MLINK, "MLINK" }, \
907 - { NFSERR_OPNOTSUPP, "OPNOTSUPP" }, \
908 - { NFSERR_NAMETOOLONG, "NAMETOOLONG" }, \
909 - { NFSERR_NOTEMPTY, "NOTEMPTY" }, \
910 - { NFSERR_DQUOT, "DQUOT" }, \
911 - { NFSERR_STALE, "STALE" }, \
912 - { NFSERR_REMOTE, "REMOTE" }, \
913 - { NFSERR_WFLUSH, "WFLUSH" }, \
914 - { NFSERR_BADHANDLE, "BADHANDLE" }, \
915 - { NFSERR_NOT_SYNC, "NOTSYNC" }, \
916 - { NFSERR_BAD_COOKIE, "BADCOOKIE" }, \
917 - { NFSERR_NOTSUPP, "NOTSUPP" }, \
918 - { NFSERR_TOOSMALL, "TOOSMALL" }, \
919 - { NFSERR_SERVERFAULT, "REMOTEIO" }, \
920 - { NFSERR_BADTYPE, "BADTYPE" }, \
921 - { NFSERR_JUKEBOX, "JUKEBOX" })
922 -
923 DECLARE_EVENT_CLASS(nfs_xdr_event,
924 TP_PROTO(
925 const struct xdr_stream *xdr,
926 @@ -1316,7 +1237,7 @@ DECLARE_EVENT_CLASS(nfs_xdr_event,
927 __entry->task_id, __entry->client_id, __entry->xid,
928 __get_str(program), __entry->version,
929 __get_str(procedure), -__entry->error,
930 - nfs_show_status(__entry->error)
931 + show_nfs_status(__entry->error)
932 )
933 );
934 #define DEFINE_NFS_XDR_EVENT(name) \
935 diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h
936 index 3307361c79560..f331f067691b0 100644
937 --- a/fs/nfs/pnfs.h
938 +++ b/fs/nfs/pnfs.h
939 @@ -82,10 +82,6 @@ enum pnfs_try_status {
940 PNFS_TRY_AGAIN = 2,
941 };
942
943 -/* error codes for internal use */
944 -#define NFS4ERR_RESET_TO_MDS 12001
945 -#define NFS4ERR_RESET_TO_PNFS 12002
946 -
947 #ifdef CONFIG_NFS_V4_1
948
949 #define LAYOUT_NFSV4_1_MODULE_PREFIX "nfs-layouttype4"
950 diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h
951 index 7e7d0f1705ed3..61943a629cdee 100644
952 --- a/fs/nfsd/trace.h
953 +++ b/fs/nfsd/trace.h
954 @@ -9,6 +9,7 @@
955 #define _NFSD_TRACE_H
956
957 #include <linux/tracepoint.h>
958 +
959 #include "export.h"
960 #include "nfsfh.h"
961
962 diff --git a/include/linux/nfs4.h b/include/linux/nfs4.h
963 index 15004c469807d..5662d8be04eb0 100644
964 --- a/include/linux/nfs4.h
965 +++ b/include/linux/nfs4.h
966 @@ -292,6 +292,10 @@ enum nfsstat4 {
967 NFS4ERR_XATTR2BIG = 10096,
968 };
969
970 +/* error codes for internal client use */
971 +#define NFS4ERR_RESET_TO_MDS 12001
972 +#define NFS4ERR_RESET_TO_PNFS 12002
973 +
974 static inline bool seqid_mutating_err(u32 err)
975 {
976 /* See RFC 7530, section 9.1.7 */
977 diff --git a/include/trace/events/nfs.h b/include/trace/events/nfs.h
978 new file mode 100644
979 index 0000000000000..09ffdbb04134d
980 --- /dev/null
981 +++ b/include/trace/events/nfs.h
982 @@ -0,0 +1,375 @@
983 +/* SPDX-License-Identifier: GPL-2.0 */
984 +/*
985 + * Display helpers for NFS protocol elements
986 + *
987 + * Author: Chuck Lever <chuck.lever@oracle.com>
988 + *
989 + * Copyright (c) 2020, Oracle and/or its affiliates.
990 + */
991 +
992 +#include <linux/nfs.h>
993 +#include <linux/nfs4.h>
994 +#include <uapi/linux/nfs.h>
995 +
996 +TRACE_DEFINE_ENUM(NFS_OK);
997 +TRACE_DEFINE_ENUM(NFSERR_PERM);
998 +TRACE_DEFINE_ENUM(NFSERR_NOENT);
999 +TRACE_DEFINE_ENUM(NFSERR_IO);
1000 +TRACE_DEFINE_ENUM(NFSERR_NXIO);
1001 +TRACE_DEFINE_ENUM(NFSERR_EAGAIN);
1002 +TRACE_DEFINE_ENUM(NFSERR_ACCES);
1003 +TRACE_DEFINE_ENUM(NFSERR_EXIST);
1004 +TRACE_DEFINE_ENUM(NFSERR_XDEV);
1005 +TRACE_DEFINE_ENUM(NFSERR_NODEV);
1006 +TRACE_DEFINE_ENUM(NFSERR_NOTDIR);
1007 +TRACE_DEFINE_ENUM(NFSERR_ISDIR);
1008 +TRACE_DEFINE_ENUM(NFSERR_INVAL);
1009 +TRACE_DEFINE_ENUM(NFSERR_FBIG);
1010 +TRACE_DEFINE_ENUM(NFSERR_NOSPC);
1011 +TRACE_DEFINE_ENUM(NFSERR_ROFS);
1012 +TRACE_DEFINE_ENUM(NFSERR_MLINK);
1013 +TRACE_DEFINE_ENUM(NFSERR_OPNOTSUPP);
1014 +TRACE_DEFINE_ENUM(NFSERR_NAMETOOLONG);
1015 +TRACE_DEFINE_ENUM(NFSERR_NOTEMPTY);
1016 +TRACE_DEFINE_ENUM(NFSERR_DQUOT);
1017 +TRACE_DEFINE_ENUM(NFSERR_STALE);
1018 +TRACE_DEFINE_ENUM(NFSERR_REMOTE);
1019 +TRACE_DEFINE_ENUM(NFSERR_WFLUSH);
1020 +TRACE_DEFINE_ENUM(NFSERR_BADHANDLE);
1021 +TRACE_DEFINE_ENUM(NFSERR_NOT_SYNC);
1022 +TRACE_DEFINE_ENUM(NFSERR_BAD_COOKIE);
1023 +TRACE_DEFINE_ENUM(NFSERR_NOTSUPP);
1024 +TRACE_DEFINE_ENUM(NFSERR_TOOSMALL);
1025 +TRACE_DEFINE_ENUM(NFSERR_SERVERFAULT);
1026 +TRACE_DEFINE_ENUM(NFSERR_BADTYPE);
1027 +TRACE_DEFINE_ENUM(NFSERR_JUKEBOX);
1028 +
1029 +#define show_nfs_status(x) \
1030 + __print_symbolic(x, \
1031 + { NFS_OK, "OK" }, \
1032 + { NFSERR_PERM, "PERM" }, \
1033 + { NFSERR_NOENT, "NOENT" }, \
1034 + { NFSERR_IO, "IO" }, \
1035 + { NFSERR_NXIO, "NXIO" }, \
1036 + { ECHILD, "CHILD" }, \
1037 + { NFSERR_EAGAIN, "AGAIN" }, \
1038 + { NFSERR_ACCES, "ACCES" }, \
1039 + { NFSERR_EXIST, "EXIST" }, \
1040 + { NFSERR_XDEV, "XDEV" }, \
1041 + { NFSERR_NODEV, "NODEV" }, \
1042 + { NFSERR_NOTDIR, "NOTDIR" }, \
1043 + { NFSERR_ISDIR, "ISDIR" }, \
1044 + { NFSERR_INVAL, "INVAL" }, \
1045 + { NFSERR_FBIG, "FBIG" }, \
1046 + { NFSERR_NOSPC, "NOSPC" }, \
1047 + { NFSERR_ROFS, "ROFS" }, \
1048 + { NFSERR_MLINK, "MLINK" }, \
1049 + { NFSERR_OPNOTSUPP, "OPNOTSUPP" }, \
1050 + { NFSERR_NAMETOOLONG, "NAMETOOLONG" }, \
1051 + { NFSERR_NOTEMPTY, "NOTEMPTY" }, \
1052 + { NFSERR_DQUOT, "DQUOT" }, \
1053 + { NFSERR_STALE, "STALE" }, \
1054 + { NFSERR_REMOTE, "REMOTE" }, \
1055 + { NFSERR_WFLUSH, "WFLUSH" }, \
1056 + { NFSERR_BADHANDLE, "BADHANDLE" }, \
1057 + { NFSERR_NOT_SYNC, "NOTSYNC" }, \
1058 + { NFSERR_BAD_COOKIE, "BADCOOKIE" }, \
1059 + { NFSERR_NOTSUPP, "NOTSUPP" }, \
1060 + { NFSERR_TOOSMALL, "TOOSMALL" }, \
1061 + { NFSERR_SERVERFAULT, "REMOTEIO" }, \
1062 + { NFSERR_BADTYPE, "BADTYPE" }, \
1063 + { NFSERR_JUKEBOX, "JUKEBOX" })
1064 +
1065 +TRACE_DEFINE_ENUM(NFS_UNSTABLE);
1066 +TRACE_DEFINE_ENUM(NFS_DATA_SYNC);
1067 +TRACE_DEFINE_ENUM(NFS_FILE_SYNC);
1068 +
1069 +#define show_nfs_stable_how(x) \
1070 + __print_symbolic(x, \
1071 + { NFS_UNSTABLE, "UNSTABLE" }, \
1072 + { NFS_DATA_SYNC, "DATA_SYNC" }, \
1073 + { NFS_FILE_SYNC, "FILE_SYNC" })
1074 +
1075 +TRACE_DEFINE_ENUM(NFS4_OK);
1076 +TRACE_DEFINE_ENUM(NFS4ERR_ACCESS);
1077 +TRACE_DEFINE_ENUM(NFS4ERR_ATTRNOTSUPP);
1078 +TRACE_DEFINE_ENUM(NFS4ERR_ADMIN_REVOKED);
1079 +TRACE_DEFINE_ENUM(NFS4ERR_BACK_CHAN_BUSY);
1080 +TRACE_DEFINE_ENUM(NFS4ERR_BADCHAR);
1081 +TRACE_DEFINE_ENUM(NFS4ERR_BADHANDLE);
1082 +TRACE_DEFINE_ENUM(NFS4ERR_BADIOMODE);
1083 +TRACE_DEFINE_ENUM(NFS4ERR_BADLAYOUT);
1084 +TRACE_DEFINE_ENUM(NFS4ERR_BADLABEL);
1085 +TRACE_DEFINE_ENUM(NFS4ERR_BADNAME);
1086 +TRACE_DEFINE_ENUM(NFS4ERR_BADOWNER);
1087 +TRACE_DEFINE_ENUM(NFS4ERR_BADSESSION);
1088 +TRACE_DEFINE_ENUM(NFS4ERR_BADSLOT);
1089 +TRACE_DEFINE_ENUM(NFS4ERR_BADTYPE);
1090 +TRACE_DEFINE_ENUM(NFS4ERR_BADXDR);
1091 +TRACE_DEFINE_ENUM(NFS4ERR_BAD_COOKIE);
1092 +TRACE_DEFINE_ENUM(NFS4ERR_BAD_HIGH_SLOT);
1093 +TRACE_DEFINE_ENUM(NFS4ERR_BAD_RANGE);
1094 +TRACE_DEFINE_ENUM(NFS4ERR_BAD_SEQID);
1095 +TRACE_DEFINE_ENUM(NFS4ERR_BAD_SESSION_DIGEST);
1096 +TRACE_DEFINE_ENUM(NFS4ERR_BAD_STATEID);
1097 +TRACE_DEFINE_ENUM(NFS4ERR_CB_PATH_DOWN);
1098 +TRACE_DEFINE_ENUM(NFS4ERR_CLID_INUSE);
1099 +TRACE_DEFINE_ENUM(NFS4ERR_CLIENTID_BUSY);
1100 +TRACE_DEFINE_ENUM(NFS4ERR_COMPLETE_ALREADY);
1101 +TRACE_DEFINE_ENUM(NFS4ERR_CONN_NOT_BOUND_TO_SESSION);
1102 +TRACE_DEFINE_ENUM(NFS4ERR_DEADLOCK);
1103 +TRACE_DEFINE_ENUM(NFS4ERR_DEADSESSION);
1104 +TRACE_DEFINE_ENUM(NFS4ERR_DELAY);
1105 +TRACE_DEFINE_ENUM(NFS4ERR_DELEG_ALREADY_WANTED);
1106 +TRACE_DEFINE_ENUM(NFS4ERR_DELEG_REVOKED);
1107 +TRACE_DEFINE_ENUM(NFS4ERR_DENIED);
1108 +TRACE_DEFINE_ENUM(NFS4ERR_DIRDELEG_UNAVAIL);
1109 +TRACE_DEFINE_ENUM(NFS4ERR_DQUOT);
1110 +TRACE_DEFINE_ENUM(NFS4ERR_ENCR_ALG_UNSUPP);
1111 +TRACE_DEFINE_ENUM(NFS4ERR_EXIST);
1112 +TRACE_DEFINE_ENUM(NFS4ERR_EXPIRED);
1113 +TRACE_DEFINE_ENUM(NFS4ERR_FBIG);
1114 +TRACE_DEFINE_ENUM(NFS4ERR_FHEXPIRED);
1115 +TRACE_DEFINE_ENUM(NFS4ERR_FILE_OPEN);
1116 +TRACE_DEFINE_ENUM(NFS4ERR_GRACE);
1117 +TRACE_DEFINE_ENUM(NFS4ERR_HASH_ALG_UNSUPP);
1118 +TRACE_DEFINE_ENUM(NFS4ERR_INVAL);
1119 +TRACE_DEFINE_ENUM(NFS4ERR_IO);
1120 +TRACE_DEFINE_ENUM(NFS4ERR_ISDIR);
1121 +TRACE_DEFINE_ENUM(NFS4ERR_LAYOUTTRYLATER);
1122 +TRACE_DEFINE_ENUM(NFS4ERR_LAYOUTUNAVAILABLE);
1123 +TRACE_DEFINE_ENUM(NFS4ERR_LEASE_MOVED);
1124 +TRACE_DEFINE_ENUM(NFS4ERR_LOCKED);
1125 +TRACE_DEFINE_ENUM(NFS4ERR_LOCKS_HELD);
1126 +TRACE_DEFINE_ENUM(NFS4ERR_LOCK_RANGE);
1127 +TRACE_DEFINE_ENUM(NFS4ERR_MINOR_VERS_MISMATCH);
1128 +TRACE_DEFINE_ENUM(NFS4ERR_MLINK);
1129 +TRACE_DEFINE_ENUM(NFS4ERR_MOVED);
1130 +TRACE_DEFINE_ENUM(NFS4ERR_NAMETOOLONG);
1131 +TRACE_DEFINE_ENUM(NFS4ERR_NOENT);
1132 +TRACE_DEFINE_ENUM(NFS4ERR_NOFILEHANDLE);
1133 +TRACE_DEFINE_ENUM(NFS4ERR_NOMATCHING_LAYOUT);
1134 +TRACE_DEFINE_ENUM(NFS4ERR_NOSPC);
1135 +TRACE_DEFINE_ENUM(NFS4ERR_NOTDIR);
1136 +TRACE_DEFINE_ENUM(NFS4ERR_NOTEMPTY);
1137 +TRACE_DEFINE_ENUM(NFS4ERR_NOTSUPP);
1138 +TRACE_DEFINE_ENUM(NFS4ERR_NOT_ONLY_OP);
1139 +TRACE_DEFINE_ENUM(NFS4ERR_NOT_SAME);
1140 +TRACE_DEFINE_ENUM(NFS4ERR_NO_GRACE);
1141 +TRACE_DEFINE_ENUM(NFS4ERR_NXIO);
1142 +TRACE_DEFINE_ENUM(NFS4ERR_OLD_STATEID);
1143 +TRACE_DEFINE_ENUM(NFS4ERR_OPENMODE);
1144 +TRACE_DEFINE_ENUM(NFS4ERR_OP_ILLEGAL);
1145 +TRACE_DEFINE_ENUM(NFS4ERR_OP_NOT_IN_SESSION);
1146 +TRACE_DEFINE_ENUM(NFS4ERR_PERM);
1147 +TRACE_DEFINE_ENUM(NFS4ERR_PNFS_IO_HOLE);
1148 +TRACE_DEFINE_ENUM(NFS4ERR_PNFS_NO_LAYOUT);
1149 +TRACE_DEFINE_ENUM(NFS4ERR_RECALLCONFLICT);
1150 +TRACE_DEFINE_ENUM(NFS4ERR_RECLAIM_BAD);
1151 +TRACE_DEFINE_ENUM(NFS4ERR_RECLAIM_CONFLICT);
1152 +TRACE_DEFINE_ENUM(NFS4ERR_REJECT_DELEG);
1153 +TRACE_DEFINE_ENUM(NFS4ERR_REP_TOO_BIG);
1154 +TRACE_DEFINE_ENUM(NFS4ERR_REP_TOO_BIG_TO_CACHE);
1155 +TRACE_DEFINE_ENUM(NFS4ERR_REQ_TOO_BIG);
1156 +TRACE_DEFINE_ENUM(NFS4ERR_RESOURCE);
1157 +TRACE_DEFINE_ENUM(NFS4ERR_RESTOREFH);
1158 +TRACE_DEFINE_ENUM(NFS4ERR_RETRY_UNCACHED_REP);
1159 +TRACE_DEFINE_ENUM(NFS4ERR_RETURNCONFLICT);
1160 +TRACE_DEFINE_ENUM(NFS4ERR_ROFS);
1161 +TRACE_DEFINE_ENUM(NFS4ERR_SAME);
1162 +TRACE_DEFINE_ENUM(NFS4ERR_SHARE_DENIED);
1163 +TRACE_DEFINE_ENUM(NFS4ERR_SEQUENCE_POS);
1164 +TRACE_DEFINE_ENUM(NFS4ERR_SEQ_FALSE_RETRY);
1165 +TRACE_DEFINE_ENUM(NFS4ERR_SEQ_MISORDERED);
1166 +TRACE_DEFINE_ENUM(NFS4ERR_SERVERFAULT);
1167 +TRACE_DEFINE_ENUM(NFS4ERR_STALE);
1168 +TRACE_DEFINE_ENUM(NFS4ERR_STALE_CLIENTID);
1169 +TRACE_DEFINE_ENUM(NFS4ERR_STALE_STATEID);
1170 +TRACE_DEFINE_ENUM(NFS4ERR_SYMLINK);
1171 +TRACE_DEFINE_ENUM(NFS4ERR_TOOSMALL);
1172 +TRACE_DEFINE_ENUM(NFS4ERR_TOO_MANY_OPS);
1173 +TRACE_DEFINE_ENUM(NFS4ERR_UNKNOWN_LAYOUTTYPE);
1174 +TRACE_DEFINE_ENUM(NFS4ERR_UNSAFE_COMPOUND);
1175 +TRACE_DEFINE_ENUM(NFS4ERR_WRONGSEC);
1176 +TRACE_DEFINE_ENUM(NFS4ERR_WRONG_CRED);
1177 +TRACE_DEFINE_ENUM(NFS4ERR_WRONG_TYPE);
1178 +TRACE_DEFINE_ENUM(NFS4ERR_XDEV);
1179 +
1180 +TRACE_DEFINE_ENUM(NFS4ERR_RESET_TO_MDS);
1181 +TRACE_DEFINE_ENUM(NFS4ERR_RESET_TO_PNFS);
1182 +
1183 +#define show_nfs4_status(x) \
1184 + __print_symbolic(x, \
1185 + { NFS4_OK, "OK" }, \
1186 + { EPERM, "EPERM" }, \
1187 + { ENOENT, "ENOENT" }, \
1188 + { EIO, "EIO" }, \
1189 + { ENXIO, "ENXIO" }, \
1190 + { EACCES, "EACCES" }, \
1191 + { EEXIST, "EEXIST" }, \
1192 + { EXDEV, "EXDEV" }, \
1193 + { ENOTDIR, "ENOTDIR" }, \
1194 + { EISDIR, "EISDIR" }, \
1195 + { EFBIG, "EFBIG" }, \
1196 + { ENOSPC, "ENOSPC" }, \
1197 + { EROFS, "EROFS" }, \
1198 + { EMLINK, "EMLINK" }, \
1199 + { ENAMETOOLONG, "ENAMETOOLONG" }, \
1200 + { ENOTEMPTY, "ENOTEMPTY" }, \
1201 + { EDQUOT, "EDQUOT" }, \
1202 + { ESTALE, "ESTALE" }, \
1203 + { EBADHANDLE, "EBADHANDLE" }, \
1204 + { EBADCOOKIE, "EBADCOOKIE" }, \
1205 + { ENOTSUPP, "ENOTSUPP" }, \
1206 + { ETOOSMALL, "ETOOSMALL" }, \
1207 + { EREMOTEIO, "EREMOTEIO" }, \
1208 + { EBADTYPE, "EBADTYPE" }, \
1209 + { EAGAIN, "EAGAIN" }, \
1210 + { ELOOP, "ELOOP" }, \
1211 + { EOPNOTSUPP, "EOPNOTSUPP" }, \
1212 + { EDEADLK, "EDEADLK" }, \
1213 + { ENOMEM, "ENOMEM" }, \
1214 + { EKEYEXPIRED, "EKEYEXPIRED" }, \
1215 + { ETIMEDOUT, "ETIMEDOUT" }, \
1216 + { ERESTARTSYS, "ERESTARTSYS" }, \
1217 + { ECONNREFUSED, "ECONNREFUSED" }, \
1218 + { ECONNRESET, "ECONNRESET" }, \
1219 + { ENETUNREACH, "ENETUNREACH" }, \
1220 + { EHOSTUNREACH, "EHOSTUNREACH" }, \
1221 + { EHOSTDOWN, "EHOSTDOWN" }, \
1222 + { EPIPE, "EPIPE" }, \
1223 + { EPFNOSUPPORT, "EPFNOSUPPORT" }, \
1224 + { EPROTONOSUPPORT, "EPROTONOSUPPORT" }, \
1225 + { NFS4ERR_ACCESS, "ACCESS" }, \
1226 + { NFS4ERR_ATTRNOTSUPP, "ATTRNOTSUPP" }, \
1227 + { NFS4ERR_ADMIN_REVOKED, "ADMIN_REVOKED" }, \
1228 + { NFS4ERR_BACK_CHAN_BUSY, "BACK_CHAN_BUSY" }, \
1229 + { NFS4ERR_BADCHAR, "BADCHAR" }, \
1230 + { NFS4ERR_BADHANDLE, "BADHANDLE" }, \
1231 + { NFS4ERR_BADIOMODE, "BADIOMODE" }, \
1232 + { NFS4ERR_BADLAYOUT, "BADLAYOUT" }, \
1233 + { NFS4ERR_BADLABEL, "BADLABEL" }, \
1234 + { NFS4ERR_BADNAME, "BADNAME" }, \
1235 + { NFS4ERR_BADOWNER, "BADOWNER" }, \
1236 + { NFS4ERR_BADSESSION, "BADSESSION" }, \
1237 + { NFS4ERR_BADSLOT, "BADSLOT" }, \
1238 + { NFS4ERR_BADTYPE, "BADTYPE" }, \
1239 + { NFS4ERR_BADXDR, "BADXDR" }, \
1240 + { NFS4ERR_BAD_COOKIE, "BAD_COOKIE" }, \
1241 + { NFS4ERR_BAD_HIGH_SLOT, "BAD_HIGH_SLOT" }, \
1242 + { NFS4ERR_BAD_RANGE, "BAD_RANGE" }, \
1243 + { NFS4ERR_BAD_SEQID, "BAD_SEQID" }, \
1244 + { NFS4ERR_BAD_SESSION_DIGEST, "BAD_SESSION_DIGEST" }, \
1245 + { NFS4ERR_BAD_STATEID, "BAD_STATEID" }, \
1246 + { NFS4ERR_CB_PATH_DOWN, "CB_PATH_DOWN" }, \
1247 + { NFS4ERR_CLID_INUSE, "CLID_INUSE" }, \
1248 + { NFS4ERR_CLIENTID_BUSY, "CLIENTID_BUSY" }, \
1249 + { NFS4ERR_COMPLETE_ALREADY, "COMPLETE_ALREADY" }, \
1250 + { NFS4ERR_CONN_NOT_BOUND_TO_SESSION, "CONN_NOT_BOUND_TO_SESSION" }, \
1251 + { NFS4ERR_DEADLOCK, "DEADLOCK" }, \
1252 + { NFS4ERR_DEADSESSION, "DEAD_SESSION" }, \
1253 + { NFS4ERR_DELAY, "DELAY" }, \
1254 + { NFS4ERR_DELEG_ALREADY_WANTED, "DELEG_ALREADY_WANTED" }, \
1255 + { NFS4ERR_DELEG_REVOKED, "DELEG_REVOKED" }, \
1256 + { NFS4ERR_DENIED, "DENIED" }, \
1257 + { NFS4ERR_DIRDELEG_UNAVAIL, "DIRDELEG_UNAVAIL" }, \
1258 + { NFS4ERR_DQUOT, "DQUOT" }, \
1259 + { NFS4ERR_ENCR_ALG_UNSUPP, "ENCR_ALG_UNSUPP" }, \
1260 + { NFS4ERR_EXIST, "EXIST" }, \
1261 + { NFS4ERR_EXPIRED, "EXPIRED" }, \
1262 + { NFS4ERR_FBIG, "FBIG" }, \
1263 + { NFS4ERR_FHEXPIRED, "FHEXPIRED" }, \
1264 + { NFS4ERR_FILE_OPEN, "FILE_OPEN" }, \
1265 + { NFS4ERR_GRACE, "GRACE" }, \
1266 + { NFS4ERR_HASH_ALG_UNSUPP, "HASH_ALG_UNSUPP" }, \
1267 + { NFS4ERR_INVAL, "INVAL" }, \
1268 + { NFS4ERR_IO, "IO" }, \
1269 + { NFS4ERR_ISDIR, "ISDIR" }, \
1270 + { NFS4ERR_LAYOUTTRYLATER, "LAYOUTTRYLATER" }, \
1271 + { NFS4ERR_LAYOUTUNAVAILABLE, "LAYOUTUNAVAILABLE" }, \
1272 + { NFS4ERR_LEASE_MOVED, "LEASE_MOVED" }, \
1273 + { NFS4ERR_LOCKED, "LOCKED" }, \
1274 + { NFS4ERR_LOCKS_HELD, "LOCKS_HELD" }, \
1275 + { NFS4ERR_LOCK_RANGE, "LOCK_RANGE" }, \
1276 + { NFS4ERR_MINOR_VERS_MISMATCH, "MINOR_VERS_MISMATCH" }, \
1277 + { NFS4ERR_MLINK, "MLINK" }, \
1278 + { NFS4ERR_MOVED, "MOVED" }, \
1279 + { NFS4ERR_NAMETOOLONG, "NAMETOOLONG" }, \
1280 + { NFS4ERR_NOENT, "NOENT" }, \
1281 + { NFS4ERR_NOFILEHANDLE, "NOFILEHANDLE" }, \
1282 + { NFS4ERR_NOMATCHING_LAYOUT, "NOMATCHING_LAYOUT" }, \
1283 + { NFS4ERR_NOSPC, "NOSPC" }, \
1284 + { NFS4ERR_NOTDIR, "NOTDIR" }, \
1285 + { NFS4ERR_NOTEMPTY, "NOTEMPTY" }, \
1286 + { NFS4ERR_NOTSUPP, "NOTSUPP" }, \
1287 + { NFS4ERR_NOT_ONLY_OP, "NOT_ONLY_OP" }, \
1288 + { NFS4ERR_NOT_SAME, "NOT_SAME" }, \
1289 + { NFS4ERR_NO_GRACE, "NO_GRACE" }, \
1290 + { NFS4ERR_NXIO, "NXIO" }, \
1291 + { NFS4ERR_OLD_STATEID, "OLD_STATEID" }, \
1292 + { NFS4ERR_OPENMODE, "OPENMODE" }, \
1293 + { NFS4ERR_OP_ILLEGAL, "OP_ILLEGAL" }, \
1294 + { NFS4ERR_OP_NOT_IN_SESSION, "OP_NOT_IN_SESSION" }, \
1295 + { NFS4ERR_PERM, "PERM" }, \
1296 + { NFS4ERR_PNFS_IO_HOLE, "PNFS_IO_HOLE" }, \
1297 + { NFS4ERR_PNFS_NO_LAYOUT, "PNFS_NO_LAYOUT" }, \
1298 + { NFS4ERR_RECALLCONFLICT, "RECALLCONFLICT" }, \
1299 + { NFS4ERR_RECLAIM_BAD, "RECLAIM_BAD" }, \
1300 + { NFS4ERR_RECLAIM_CONFLICT, "RECLAIM_CONFLICT" }, \
1301 + { NFS4ERR_REJECT_DELEG, "REJECT_DELEG" }, \
1302 + { NFS4ERR_REP_TOO_BIG, "REP_TOO_BIG" }, \
1303 + { NFS4ERR_REP_TOO_BIG_TO_CACHE, "REP_TOO_BIG_TO_CACHE" }, \
1304 + { NFS4ERR_REQ_TOO_BIG, "REQ_TOO_BIG" }, \
1305 + { NFS4ERR_RESOURCE, "RESOURCE" }, \
1306 + { NFS4ERR_RESTOREFH, "RESTOREFH" }, \
1307 + { NFS4ERR_RETRY_UNCACHED_REP, "RETRY_UNCACHED_REP" }, \
1308 + { NFS4ERR_RETURNCONFLICT, "RETURNCONFLICT" }, \
1309 + { NFS4ERR_ROFS, "ROFS" }, \
1310 + { NFS4ERR_SAME, "SAME" }, \
1311 + { NFS4ERR_SHARE_DENIED, "SHARE_DENIED" }, \
1312 + { NFS4ERR_SEQUENCE_POS, "SEQUENCE_POS" }, \
1313 + { NFS4ERR_SEQ_FALSE_RETRY, "SEQ_FALSE_RETRY" }, \
1314 + { NFS4ERR_SEQ_MISORDERED, "SEQ_MISORDERED" }, \
1315 + { NFS4ERR_SERVERFAULT, "SERVERFAULT" }, \
1316 + { NFS4ERR_STALE, "STALE" }, \
1317 + { NFS4ERR_STALE_CLIENTID, "STALE_CLIENTID" }, \
1318 + { NFS4ERR_STALE_STATEID, "STALE_STATEID" }, \
1319 + { NFS4ERR_SYMLINK, "SYMLINK" }, \
1320 + { NFS4ERR_TOOSMALL, "TOOSMALL" }, \
1321 + { NFS4ERR_TOO_MANY_OPS, "TOO_MANY_OPS" }, \
1322 + { NFS4ERR_UNKNOWN_LAYOUTTYPE, "UNKNOWN_LAYOUTTYPE" }, \
1323 + { NFS4ERR_UNSAFE_COMPOUND, "UNSAFE_COMPOUND" }, \
1324 + { NFS4ERR_WRONGSEC, "WRONGSEC" }, \
1325 + { NFS4ERR_WRONG_CRED, "WRONG_CRED" }, \
1326 + { NFS4ERR_WRONG_TYPE, "WRONG_TYPE" }, \
1327 + { NFS4ERR_XDEV, "XDEV" }, \
1328 + /* ***** Internal to Linux NFS client ***** */ \
1329 + { NFS4ERR_RESET_TO_MDS, "RESET_TO_MDS" }, \
1330 + { NFS4ERR_RESET_TO_PNFS, "RESET_TO_PNFS" })
1331 +
1332 +#define show_nfs4_verifier(x) \
1333 + __print_hex_str(x, NFS4_VERIFIER_SIZE)
1334 +
1335 +TRACE_DEFINE_ENUM(IOMODE_READ);
1336 +TRACE_DEFINE_ENUM(IOMODE_RW);
1337 +TRACE_DEFINE_ENUM(IOMODE_ANY);
1338 +
1339 +#define show_pnfs_layout_iomode(x) \
1340 + __print_symbolic(x, \
1341 + { IOMODE_READ, "READ" }, \
1342 + { IOMODE_RW, "RW" }, \
1343 + { IOMODE_ANY, "ANY" })
1344 +
1345 +#define show_nfs4_seq4_status(x) \
1346 + __print_flags(x, "|", \
1347 + { SEQ4_STATUS_CB_PATH_DOWN, "CB_PATH_DOWN" }, \
1348 + { SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRING, "CB_GSS_CONTEXTS_EXPIRING" }, \
1349 + { SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRED, "CB_GSS_CONTEXTS_EXPIRED" }, \
1350 + { SEQ4_STATUS_EXPIRED_ALL_STATE_REVOKED, "EXPIRED_ALL_STATE_REVOKED" }, \
1351 + { SEQ4_STATUS_EXPIRED_SOME_STATE_REVOKED, "EXPIRED_SOME_STATE_REVOKED" }, \
1352 + { SEQ4_STATUS_ADMIN_STATE_REVOKED, "ADMIN_STATE_REVOKED" }, \
1353 + { SEQ4_STATUS_RECALLABLE_STATE_REVOKED, "RECALLABLE_STATE_REVOKED" }, \
1354 + { SEQ4_STATUS_LEASE_MOVED, "LEASE_MOVED" }, \
1355 + { SEQ4_STATUS_RESTART_RECLAIM_NEEDED, "RESTART_RECLAIM_NEEDED" }, \
1356 + { SEQ4_STATUS_CB_PATH_DOWN_SESSION, "CB_PATH_DOWN_SESSION" }, \
1357 + { SEQ4_STATUS_BACKCHANNEL_FAULT, "BACKCHANNEL_FAULT" })
1358 --
1359 2.43.0
1360