]>
Commit | Line | Data |
---|---|---|
52761858 SL |
1 | From 92af5f0b0679e7627d19474edb656cd63b35f8de Mon Sep 17 00:00:00 2001 |
2 | From: Sasha Levin <sashal@kernel.org> | |
3 | Date: Fri, 22 Oct 2021 16:16:56 -0400 | |
4 | Subject: NFS: Move generic FS show macros to global header | |
5 | ||
6 | From: Chuck Lever <chuck.lever@oracle.com> | |
7 | ||
8 | [ Upstream commit 9d2d48bbbdabf7b2f029369c4f926d133c1d47ad ] | |
9 | ||
10 | Refactor: Surface useful show_ macros for use by other trace | |
11 | subsystems. | |
12 | ||
13 | Signed-off-by: Chuck Lever <chuck.lever@oracle.com> | |
14 | Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> | |
15 | Signed-off-by: Chuck Lever <chuck.lever@oracle.com> | |
16 | --- | |
17 | fs/nfs/nfs4trace.h | 67 ++++++--------------- | |
18 | fs/nfs/nfstrace.h | 80 +++++-------------------- | |
19 | include/trace/events/fs.h | 122 ++++++++++++++++++++++++++++++++++++++ | |
20 | 3 files changed, 156 insertions(+), 113 deletions(-) | |
21 | create mode 100644 include/trace/events/fs.h | |
22 | ||
23 | diff --git a/fs/nfs/nfs4trace.h b/fs/nfs/nfs4trace.h | |
24 | index 39a45bb7d4311..afbecdb8fa21b 100644 | |
25 | --- a/fs/nfs/nfs4trace.h | |
26 | +++ b/fs/nfs/nfs4trace.h | |
27 | @@ -11,6 +11,8 @@ | |
28 | #include <linux/tracepoint.h> | |
29 | #include <trace/events/sunrpc_base.h> | |
30 | ||
31 | +#include <trace/events/fs.h> | |
32 | + | |
33 | TRACE_DEFINE_ENUM(EPERM); | |
34 | TRACE_DEFINE_ENUM(ENOENT); | |
35 | TRACE_DEFINE_ENUM(EIO); | |
36 | @@ -314,19 +316,6 @@ TRACE_DEFINE_ENUM(NFS4ERR_RESET_TO_PNFS); | |
37 | { NFS4ERR_RESET_TO_MDS, "RESET_TO_MDS" }, \ | |
38 | { NFS4ERR_RESET_TO_PNFS, "RESET_TO_PNFS" }) | |
39 | ||
40 | -#define show_open_flags(flags) \ | |
41 | - __print_flags(flags, "|", \ | |
42 | - { O_CREAT, "O_CREAT" }, \ | |
43 | - { O_EXCL, "O_EXCL" }, \ | |
44 | - { O_TRUNC, "O_TRUNC" }, \ | |
45 | - { O_DIRECT, "O_DIRECT" }) | |
46 | - | |
47 | -#define show_fmode_flags(mode) \ | |
48 | - __print_flags(mode, "|", \ | |
49 | - { ((__force unsigned long)FMODE_READ), "READ" }, \ | |
50 | - { ((__force unsigned long)FMODE_WRITE), "WRITE" }, \ | |
51 | - { ((__force unsigned long)FMODE_EXEC), "EXEC" }) | |
52 | - | |
53 | #define show_nfs_fattr_flags(valid) \ | |
54 | __print_flags((unsigned long)valid, "|", \ | |
55 | { NFS_ATTR_FATTR_TYPE, "TYPE" }, \ | |
56 | @@ -796,8 +785,8 @@ DECLARE_EVENT_CLASS(nfs4_open_event, | |
57 | ||
58 | TP_STRUCT__entry( | |
59 | __field(unsigned long, error) | |
60 | - __field(unsigned int, flags) | |
61 | - __field(unsigned int, fmode) | |
62 | + __field(unsigned long, flags) | |
63 | + __field(unsigned long, fmode) | |
64 | __field(dev_t, dev) | |
65 | __field(u32, fhandle) | |
66 | __field(u64, fileid) | |
67 | @@ -815,7 +804,7 @@ DECLARE_EVENT_CLASS(nfs4_open_event, | |
68 | ||
69 | __entry->error = -error; | |
70 | __entry->flags = flags; | |
71 | - __entry->fmode = (__force unsigned int)ctx->mode; | |
72 | + __entry->fmode = (__force unsigned long)ctx->mode; | |
73 | __entry->dev = ctx->dentry->d_sb->s_dev; | |
74 | if (!IS_ERR_OR_NULL(state)) { | |
75 | inode = state->inode; | |
76 | @@ -845,15 +834,15 @@ DECLARE_EVENT_CLASS(nfs4_open_event, | |
77 | ), | |
78 | ||
79 | TP_printk( | |
80 | - "error=%ld (%s) flags=%d (%s) fmode=%s " | |
81 | + "error=%ld (%s) flags=%lu (%s) fmode=%s " | |
82 | "fileid=%02x:%02x:%llu fhandle=0x%08x " | |
83 | "name=%02x:%02x:%llu/%s stateid=%d:0x%08x " | |
84 | "openstateid=%d:0x%08x", | |
85 | -__entry->error, | |
86 | show_nfsv4_errors(__entry->error), | |
87 | __entry->flags, | |
88 | - show_open_flags(__entry->flags), | |
89 | - show_fmode_flags(__entry->fmode), | |
90 | + show_fs_fcntl_open_flags(__entry->flags), | |
91 | + show_fs_fmode_flags(__entry->fmode), | |
92 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
93 | (unsigned long long)__entry->fileid, | |
94 | __entry->fhandle, | |
95 | @@ -907,7 +896,7 @@ TRACE_EVENT(nfs4_cached_open, | |
96 | TP_printk( | |
97 | "fmode=%s fileid=%02x:%02x:%llu " | |
98 | "fhandle=0x%08x stateid=%d:0x%08x", | |
99 | - __entry->fmode ? show_fmode_flags(__entry->fmode) : | |
100 | + __entry->fmode ? show_fs_fmode_flags(__entry->fmode) : | |
101 | "closed", | |
102 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
103 | (unsigned long long)__entry->fileid, | |
104 | @@ -955,7 +944,7 @@ TRACE_EVENT(nfs4_close, | |
105 | "fhandle=0x%08x openstateid=%d:0x%08x", | |
106 | -__entry->error, | |
107 | show_nfsv4_errors(__entry->error), | |
108 | - __entry->fmode ? show_fmode_flags(__entry->fmode) : | |
109 | + __entry->fmode ? show_fs_fmode_flags(__entry->fmode) : | |
110 | "closed", | |
111 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
112 | (unsigned long long)__entry->fileid, | |
113 | @@ -964,24 +953,6 @@ TRACE_EVENT(nfs4_close, | |
114 | ) | |
115 | ); | |
116 | ||
117 | -TRACE_DEFINE_ENUM(F_GETLK); | |
118 | -TRACE_DEFINE_ENUM(F_SETLK); | |
119 | -TRACE_DEFINE_ENUM(F_SETLKW); | |
120 | -TRACE_DEFINE_ENUM(F_RDLCK); | |
121 | -TRACE_DEFINE_ENUM(F_WRLCK); | |
122 | -TRACE_DEFINE_ENUM(F_UNLCK); | |
123 | - | |
124 | -#define show_lock_cmd(type) \ | |
125 | - __print_symbolic((int)type, \ | |
126 | - { F_GETLK, "GETLK" }, \ | |
127 | - { F_SETLK, "SETLK" }, \ | |
128 | - { F_SETLKW, "SETLKW" }) | |
129 | -#define show_lock_type(type) \ | |
130 | - __print_symbolic((int)type, \ | |
131 | - { F_RDLCK, "RDLCK" }, \ | |
132 | - { F_WRLCK, "WRLCK" }, \ | |
133 | - { F_UNLCK, "UNLCK" }) | |
134 | - | |
135 | DECLARE_EVENT_CLASS(nfs4_lock_event, | |
136 | TP_PROTO( | |
137 | const struct file_lock *request, | |
138 | @@ -994,8 +965,8 @@ DECLARE_EVENT_CLASS(nfs4_lock_event, | |
139 | ||
140 | TP_STRUCT__entry( | |
141 | __field(unsigned long, error) | |
142 | - __field(int, cmd) | |
143 | - __field(char, type) | |
144 | + __field(unsigned long, cmd) | |
145 | + __field(unsigned long, type) | |
146 | __field(loff_t, start) | |
147 | __field(loff_t, end) | |
148 | __field(dev_t, dev) | |
149 | @@ -1028,8 +999,8 @@ DECLARE_EVENT_CLASS(nfs4_lock_event, | |
150 | "stateid=%d:0x%08x", | |
151 | -__entry->error, | |
152 | show_nfsv4_errors(__entry->error), | |
153 | - show_lock_cmd(__entry->cmd), | |
154 | - show_lock_type(__entry->type), | |
155 | + show_fs_fcntl_cmd(__entry->cmd), | |
156 | + show_fs_fcntl_lock_type(__entry->type), | |
157 | (long long)__entry->start, | |
158 | (long long)__entry->end, | |
159 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
160 | @@ -1064,8 +1035,8 @@ TRACE_EVENT(nfs4_set_lock, | |
161 | ||
162 | TP_STRUCT__entry( | |
163 | __field(unsigned long, error) | |
164 | - __field(int, cmd) | |
165 | - __field(char, type) | |
166 | + __field(unsigned long, cmd) | |
167 | + __field(unsigned long, type) | |
168 | __field(loff_t, start) | |
169 | __field(loff_t, end) | |
170 | __field(dev_t, dev) | |
171 | @@ -1104,8 +1075,8 @@ TRACE_EVENT(nfs4_set_lock, | |
172 | "stateid=%d:0x%08x lockstateid=%d:0x%08x", | |
173 | -__entry->error, | |
174 | show_nfsv4_errors(__entry->error), | |
175 | - show_lock_cmd(__entry->cmd), | |
176 | - show_lock_type(__entry->type), | |
177 | + show_fs_fcntl_cmd(__entry->cmd), | |
178 | + show_fs_fcntl_lock_type(__entry->type), | |
179 | (long long)__entry->start, | |
180 | (long long)__entry->end, | |
181 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
182 | @@ -1222,7 +1193,7 @@ DECLARE_EVENT_CLASS(nfs4_set_delegation_event, | |
183 | ||
184 | TP_printk( | |
185 | "fmode=%s fileid=%02x:%02x:%llu fhandle=0x%08x", | |
186 | - show_fmode_flags(__entry->fmode), | |
187 | + show_fs_fmode_flags(__entry->fmode), | |
188 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
189 | (unsigned long long)__entry->fileid, | |
190 | __entry->fhandle | |
191 | diff --git a/fs/nfs/nfstrace.h b/fs/nfs/nfstrace.h | |
192 | index 69fa637a4aba8..918237677a383 100644 | |
193 | --- a/fs/nfs/nfstrace.h | |
194 | +++ b/fs/nfs/nfstrace.h | |
195 | @@ -11,20 +11,9 @@ | |
196 | #include <linux/tracepoint.h> | |
197 | #include <linux/iversion.h> | |
198 | ||
199 | +#include <trace/events/fs.h> | |
200 | #include <trace/events/sunrpc_base.h> | |
201 | ||
202 | -#define nfs_show_file_type(ftype) \ | |
203 | - __print_symbolic(ftype, \ | |
204 | - { DT_UNKNOWN, "UNKNOWN" }, \ | |
205 | - { DT_FIFO, "FIFO" }, \ | |
206 | - { DT_CHR, "CHR" }, \ | |
207 | - { DT_DIR, "DIR" }, \ | |
208 | - { DT_BLK, "BLK" }, \ | |
209 | - { DT_REG, "REG" }, \ | |
210 | - { DT_LNK, "LNK" }, \ | |
211 | - { DT_SOCK, "SOCK" }, \ | |
212 | - { DT_WHT, "WHT" }) | |
213 | - | |
214 | #define nfs_show_cache_validity(v) \ | |
215 | __print_flags(v, "|", \ | |
216 | { NFS_INO_INVALID_DATA, "INVALID_DATA" }, \ | |
217 | @@ -131,7 +120,7 @@ DECLARE_EVENT_CLASS(nfs_inode_event_done, | |
218 | (unsigned long long)__entry->fileid, | |
219 | __entry->fhandle, | |
220 | __entry->type, | |
221 | - nfs_show_file_type(__entry->type), | |
222 | + show_fs_dirent_type(__entry->type), | |
223 | (unsigned long long)__entry->version, | |
224 | (long long)__entry->size, | |
225 | __entry->cache_validity, | |
226 | @@ -222,7 +211,7 @@ TRACE_EVENT(nfs_access_exit, | |
227 | (unsigned long long)__entry->fileid, | |
228 | __entry->fhandle, | |
229 | __entry->type, | |
230 | - nfs_show_file_type(__entry->type), | |
231 | + show_fs_dirent_type(__entry->type), | |
232 | (unsigned long long)__entry->version, | |
233 | (long long)__entry->size, | |
234 | __entry->cache_validity, | |
235 | @@ -233,21 +222,6 @@ TRACE_EVENT(nfs_access_exit, | |
236 | ) | |
237 | ); | |
238 | ||
239 | -#define show_lookup_flags(flags) \ | |
240 | - __print_flags(flags, "|", \ | |
241 | - { LOOKUP_FOLLOW, "FOLLOW" }, \ | |
242 | - { LOOKUP_DIRECTORY, "DIRECTORY" }, \ | |
243 | - { LOOKUP_AUTOMOUNT, "AUTOMOUNT" }, \ | |
244 | - { LOOKUP_PARENT, "PARENT" }, \ | |
245 | - { LOOKUP_REVAL, "REVAL" }, \ | |
246 | - { LOOKUP_RCU, "RCU" }, \ | |
247 | - { LOOKUP_OPEN, "OPEN" }, \ | |
248 | - { LOOKUP_CREATE, "CREATE" }, \ | |
249 | - { LOOKUP_EXCL, "EXCL" }, \ | |
250 | - { LOOKUP_RENAME_TARGET, "RENAME_TARGET" }, \ | |
251 | - { LOOKUP_EMPTY, "EMPTY" }, \ | |
252 | - { LOOKUP_DOWN, "DOWN" }) | |
253 | - | |
254 | DECLARE_EVENT_CLASS(nfs_lookup_event, | |
255 | TP_PROTO( | |
256 | const struct inode *dir, | |
257 | @@ -274,7 +248,7 @@ DECLARE_EVENT_CLASS(nfs_lookup_event, | |
258 | TP_printk( | |
259 | "flags=0x%lx (%s) name=%02x:%02x:%llu/%s", | |
260 | __entry->flags, | |
261 | - show_lookup_flags(__entry->flags), | |
262 | + show_fs_lookup_flags(__entry->flags), | |
263 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
264 | (unsigned long long)__entry->dir, | |
265 | __get_str(name) | |
266 | @@ -320,7 +294,7 @@ DECLARE_EVENT_CLASS(nfs_lookup_event_done, | |
267 | "error=%ld (%s) flags=0x%lx (%s) name=%02x:%02x:%llu/%s", | |
268 | -__entry->error, nfs_show_status(__entry->error), | |
269 | __entry->flags, | |
270 | - show_lookup_flags(__entry->flags), | |
271 | + show_fs_lookup_flags(__entry->flags), | |
272 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
273 | (unsigned long long)__entry->dir, | |
274 | __get_str(name) | |
275 | @@ -342,30 +316,6 @@ DEFINE_NFS_LOOKUP_EVENT_DONE(nfs_lookup_exit); | |
276 | DEFINE_NFS_LOOKUP_EVENT(nfs_lookup_revalidate_enter); | |
277 | DEFINE_NFS_LOOKUP_EVENT_DONE(nfs_lookup_revalidate_exit); | |
278 | ||
279 | -#define show_open_flags(flags) \ | |
280 | - __print_flags(flags, "|", \ | |
281 | - { O_WRONLY, "O_WRONLY" }, \ | |
282 | - { O_RDWR, "O_RDWR" }, \ | |
283 | - { O_CREAT, "O_CREAT" }, \ | |
284 | - { O_EXCL, "O_EXCL" }, \ | |
285 | - { O_NOCTTY, "O_NOCTTY" }, \ | |
286 | - { O_TRUNC, "O_TRUNC" }, \ | |
287 | - { O_APPEND, "O_APPEND" }, \ | |
288 | - { O_NONBLOCK, "O_NONBLOCK" }, \ | |
289 | - { O_DSYNC, "O_DSYNC" }, \ | |
290 | - { O_DIRECT, "O_DIRECT" }, \ | |
291 | - { O_LARGEFILE, "O_LARGEFILE" }, \ | |
292 | - { O_DIRECTORY, "O_DIRECTORY" }, \ | |
293 | - { O_NOFOLLOW, "O_NOFOLLOW" }, \ | |
294 | - { O_NOATIME, "O_NOATIME" }, \ | |
295 | - { O_CLOEXEC, "O_CLOEXEC" }) | |
296 | - | |
297 | -#define show_fmode_flags(mode) \ | |
298 | - __print_flags(mode, "|", \ | |
299 | - { ((__force unsigned long)FMODE_READ), "READ" }, \ | |
300 | - { ((__force unsigned long)FMODE_WRITE), "WRITE" }, \ | |
301 | - { ((__force unsigned long)FMODE_EXEC), "EXEC" }) | |
302 | - | |
303 | TRACE_EVENT(nfs_atomic_open_enter, | |
304 | TP_PROTO( | |
305 | const struct inode *dir, | |
306 | @@ -377,7 +327,7 @@ TRACE_EVENT(nfs_atomic_open_enter, | |
307 | ||
308 | TP_STRUCT__entry( | |
309 | __field(unsigned long, flags) | |
310 | - __field(unsigned int, fmode) | |
311 | + __field(unsigned long, fmode) | |
312 | __field(dev_t, dev) | |
313 | __field(u64, dir) | |
314 | __string(name, ctx->dentry->d_name.name) | |
315 | @@ -387,15 +337,15 @@ TRACE_EVENT(nfs_atomic_open_enter, | |
316 | __entry->dev = dir->i_sb->s_dev; | |
317 | __entry->dir = NFS_FILEID(dir); | |
318 | __entry->flags = flags; | |
319 | - __entry->fmode = (__force unsigned int)ctx->mode; | |
320 | + __entry->fmode = (__force unsigned long)ctx->mode; | |
321 | __assign_str(name, ctx->dentry->d_name.name); | |
322 | ), | |
323 | ||
324 | TP_printk( | |
325 | "flags=0x%lx (%s) fmode=%s name=%02x:%02x:%llu/%s", | |
326 | __entry->flags, | |
327 | - show_open_flags(__entry->flags), | |
328 | - show_fmode_flags(__entry->fmode), | |
329 | + show_fs_fcntl_open_flags(__entry->flags), | |
330 | + show_fs_fmode_flags(__entry->fmode), | |
331 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
332 | (unsigned long long)__entry->dir, | |
333 | __get_str(name) | |
334 | @@ -415,7 +365,7 @@ TRACE_EVENT(nfs_atomic_open_exit, | |
335 | TP_STRUCT__entry( | |
336 | __field(unsigned long, error) | |
337 | __field(unsigned long, flags) | |
338 | - __field(unsigned int, fmode) | |
339 | + __field(unsigned long, fmode) | |
340 | __field(dev_t, dev) | |
341 | __field(u64, dir) | |
342 | __string(name, ctx->dentry->d_name.name) | |
343 | @@ -426,7 +376,7 @@ TRACE_EVENT(nfs_atomic_open_exit, | |
344 | __entry->dev = dir->i_sb->s_dev; | |
345 | __entry->dir = NFS_FILEID(dir); | |
346 | __entry->flags = flags; | |
347 | - __entry->fmode = (__force unsigned int)ctx->mode; | |
348 | + __entry->fmode = (__force unsigned long)ctx->mode; | |
349 | __assign_str(name, ctx->dentry->d_name.name); | |
350 | ), | |
351 | ||
352 | @@ -435,8 +385,8 @@ TRACE_EVENT(nfs_atomic_open_exit, | |
353 | "name=%02x:%02x:%llu/%s", | |
354 | -__entry->error, nfs_show_status(__entry->error), | |
355 | __entry->flags, | |
356 | - show_open_flags(__entry->flags), | |
357 | - show_fmode_flags(__entry->fmode), | |
358 | + show_fs_fcntl_open_flags(__entry->flags), | |
359 | + show_fs_fmode_flags(__entry->fmode), | |
360 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
361 | (unsigned long long)__entry->dir, | |
362 | __get_str(name) | |
363 | @@ -469,7 +419,7 @@ TRACE_EVENT(nfs_create_enter, | |
364 | TP_printk( | |
365 | "flags=0x%lx (%s) name=%02x:%02x:%llu/%s", | |
366 | __entry->flags, | |
367 | - show_open_flags(__entry->flags), | |
368 | + show_fs_fcntl_open_flags(__entry->flags), | |
369 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
370 | (unsigned long long)__entry->dir, | |
371 | __get_str(name) | |
372 | @@ -506,7 +456,7 @@ TRACE_EVENT(nfs_create_exit, | |
373 | "error=%ld (%s) flags=0x%lx (%s) name=%02x:%02x:%llu/%s", | |
374 | -__entry->error, nfs_show_status(__entry->error), | |
375 | __entry->flags, | |
376 | - show_open_flags(__entry->flags), | |
377 | + show_fs_fcntl_open_flags(__entry->flags), | |
378 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
379 | (unsigned long long)__entry->dir, | |
380 | __get_str(name) | |
381 | diff --git a/include/trace/events/fs.h b/include/trace/events/fs.h | |
382 | new file mode 100644 | |
383 | index 0000000000000..738b97f22f365 | |
384 | --- /dev/null | |
385 | +++ b/include/trace/events/fs.h | |
386 | @@ -0,0 +1,122 @@ | |
387 | +/* SPDX-License-Identifier: GPL-2.0 */ | |
388 | +/* | |
389 | + * Display helpers for generic filesystem items | |
390 | + * | |
391 | + * Author: Chuck Lever <chuck.lever@oracle.com> | |
392 | + * | |
393 | + * Copyright (c) 2020, Oracle and/or its affiliates. | |
394 | + */ | |
395 | + | |
396 | +#include <linux/fs.h> | |
397 | + | |
398 | +#define show_fs_dirent_type(x) \ | |
399 | + __print_symbolic(x, \ | |
400 | + { DT_UNKNOWN, "UNKNOWN" }, \ | |
401 | + { DT_FIFO, "FIFO" }, \ | |
402 | + { DT_CHR, "CHR" }, \ | |
403 | + { DT_DIR, "DIR" }, \ | |
404 | + { DT_BLK, "BLK" }, \ | |
405 | + { DT_REG, "REG" }, \ | |
406 | + { DT_LNK, "LNK" }, \ | |
407 | + { DT_SOCK, "SOCK" }, \ | |
408 | + { DT_WHT, "WHT" }) | |
409 | + | |
410 | +#define show_fs_fcntl_open_flags(x) \ | |
411 | + __print_flags(x, "|", \ | |
412 | + { O_WRONLY, "O_WRONLY" }, \ | |
413 | + { O_RDWR, "O_RDWR" }, \ | |
414 | + { O_CREAT, "O_CREAT" }, \ | |
415 | + { O_EXCL, "O_EXCL" }, \ | |
416 | + { O_NOCTTY, "O_NOCTTY" }, \ | |
417 | + { O_TRUNC, "O_TRUNC" }, \ | |
418 | + { O_APPEND, "O_APPEND" }, \ | |
419 | + { O_NONBLOCK, "O_NONBLOCK" }, \ | |
420 | + { O_DSYNC, "O_DSYNC" }, \ | |
421 | + { O_DIRECT, "O_DIRECT" }, \ | |
422 | + { O_LARGEFILE, "O_LARGEFILE" }, \ | |
423 | + { O_DIRECTORY, "O_DIRECTORY" }, \ | |
424 | + { O_NOFOLLOW, "O_NOFOLLOW" }, \ | |
425 | + { O_NOATIME, "O_NOATIME" }, \ | |
426 | + { O_CLOEXEC, "O_CLOEXEC" }) | |
427 | + | |
428 | +#define __fmode_flag(x) { (__force unsigned long)FMODE_##x, #x } | |
429 | +#define show_fs_fmode_flags(x) \ | |
430 | + __print_flags(x, "|", \ | |
431 | + __fmode_flag(READ), \ | |
432 | + __fmode_flag(WRITE), \ | |
433 | + __fmode_flag(EXEC)) | |
434 | + | |
435 | +#ifdef CONFIG_64BIT | |
436 | +#define show_fs_fcntl_cmd(x) \ | |
437 | + __print_symbolic(x, \ | |
438 | + { F_DUPFD, "DUPFD" }, \ | |
439 | + { F_GETFD, "GETFD" }, \ | |
440 | + { F_SETFD, "SETFD" }, \ | |
441 | + { F_GETFL, "GETFL" }, \ | |
442 | + { F_SETFL, "SETFL" }, \ | |
443 | + { F_GETLK, "GETLK" }, \ | |
444 | + { F_SETLK, "SETLK" }, \ | |
445 | + { F_SETLKW, "SETLKW" }, \ | |
446 | + { F_SETOWN, "SETOWN" }, \ | |
447 | + { F_GETOWN, "GETOWN" }, \ | |
448 | + { F_SETSIG, "SETSIG" }, \ | |
449 | + { F_GETSIG, "GETSIG" }, \ | |
450 | + { F_SETOWN_EX, "SETOWN_EX" }, \ | |
451 | + { F_GETOWN_EX, "GETOWN_EX" }, \ | |
452 | + { F_GETOWNER_UIDS, "GETOWNER_UIDS" }, \ | |
453 | + { F_OFD_GETLK, "OFD_GETLK" }, \ | |
454 | + { F_OFD_SETLK, "OFD_SETLK" }, \ | |
455 | + { F_OFD_SETLKW, "OFD_SETLKW" }) | |
456 | +#else /* CONFIG_64BIT */ | |
457 | +#define show_fs_fcntl_cmd(x) \ | |
458 | + __print_symbolic(x, \ | |
459 | + { F_DUPFD, "DUPFD" }, \ | |
460 | + { F_GETFD, "GETFD" }, \ | |
461 | + { F_SETFD, "SETFD" }, \ | |
462 | + { F_GETFL, "GETFL" }, \ | |
463 | + { F_SETFL, "SETFL" }, \ | |
464 | + { F_GETLK, "GETLK" }, \ | |
465 | + { F_SETLK, "SETLK" }, \ | |
466 | + { F_SETLKW, "SETLKW" }, \ | |
467 | + { F_SETOWN, "SETOWN" }, \ | |
468 | + { F_GETOWN, "GETOWN" }, \ | |
469 | + { F_SETSIG, "SETSIG" }, \ | |
470 | + { F_GETSIG, "GETSIG" }, \ | |
471 | + { F_GETLK64, "GETLK64" }, \ | |
472 | + { F_SETLK64, "SETLK64" }, \ | |
473 | + { F_SETLKW64, "SETLKW64" }, \ | |
474 | + { F_SETOWN_EX, "SETOWN_EX" }, \ | |
475 | + { F_GETOWN_EX, "GETOWN_EX" }, \ | |
476 | + { F_GETOWNER_UIDS, "GETOWNER_UIDS" }, \ | |
477 | + { F_OFD_GETLK, "OFD_GETLK" }, \ | |
478 | + { F_OFD_SETLK, "OFD_SETLK" }, \ | |
479 | + { F_OFD_SETLKW, "OFD_SETLKW" }) | |
480 | +#endif /* CONFIG_64BIT */ | |
481 | + | |
482 | +#define show_fs_fcntl_lock_type(x) \ | |
483 | + __print_symbolic(x, \ | |
484 | + { F_RDLCK, "RDLCK" }, \ | |
485 | + { F_WRLCK, "WRLCK" }, \ | |
486 | + { F_UNLCK, "UNLCK" }) | |
487 | + | |
488 | +#define show_fs_lookup_flags(flags) \ | |
489 | + __print_flags(flags, "|", \ | |
490 | + { LOOKUP_FOLLOW, "FOLLOW" }, \ | |
491 | + { LOOKUP_DIRECTORY, "DIRECTORY" }, \ | |
492 | + { LOOKUP_AUTOMOUNT, "AUTOMOUNT" }, \ | |
493 | + { LOOKUP_EMPTY, "EMPTY" }, \ | |
494 | + { LOOKUP_DOWN, "DOWN" }, \ | |
495 | + { LOOKUP_MOUNTPOINT, "MOUNTPOINT" }, \ | |
496 | + { LOOKUP_REVAL, "REVAL" }, \ | |
497 | + { LOOKUP_RCU, "RCU" }, \ | |
498 | + { LOOKUP_OPEN, "OPEN" }, \ | |
499 | + { LOOKUP_CREATE, "CREATE" }, \ | |
500 | + { LOOKUP_EXCL, "EXCL" }, \ | |
501 | + { LOOKUP_RENAME_TARGET, "RENAME_TARGET" }, \ | |
502 | + { LOOKUP_PARENT, "PARENT" }, \ | |
503 | + { LOOKUP_NO_SYMLINKS, "NO_SYMLINKS" }, \ | |
504 | + { LOOKUP_NO_MAGICLINKS, "NO_MAGICLINKS" }, \ | |
505 | + { LOOKUP_NO_XDEV, "NO_XDEV" }, \ | |
506 | + { LOOKUP_BENEATH, "BENEATH" }, \ | |
507 | + { LOOKUP_IN_ROOT, "IN_ROOT" }, \ | |
508 | + { LOOKUP_CACHED, "CACHED" }) | |
509 | -- | |
510 | 2.43.0 | |
511 |