]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - queue-5.15/nfs-move-generic-fs-show-macros-to-global-header.patch
5.4-stable patches
[thirdparty/kernel/stable-queue.git] / queue-5.15 / nfs-move-generic-fs-show-macros-to-global-header.patch
CommitLineData
52761858
SL
1From 92af5f0b0679e7627d19474edb656cd63b35f8de Mon Sep 17 00:00:00 2001
2From: Sasha Levin <sashal@kernel.org>
3Date: Fri, 22 Oct 2021 16:16:56 -0400
4Subject: NFS: Move generic FS show macros to global header
5
6From: Chuck Lever <chuck.lever@oracle.com>
7
8[ Upstream commit 9d2d48bbbdabf7b2f029369c4f926d133c1d47ad ]
9
10Refactor: Surface useful show_ macros for use by other trace
11subsystems.
12
13Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
14Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
15Signed-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
23diff --git a/fs/nfs/nfs4trace.h b/fs/nfs/nfs4trace.h
24index 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
191diff --git a/fs/nfs/nfstrace.h b/fs/nfs/nfstrace.h
192index 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)
381diff --git a/include/trace/events/fs.h b/include/trace/events/fs.h
382new file mode 100644
383index 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--
5102.43.0
511