brintos

brintos / linux-shallow public Read only

0
0
Text · 3.4 KiB · 738b97f Raw
123 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * Display helpers for generic filesystem items4 *5 * Author: Chuck Lever <chuck.lever@oracle.com>6 *7 * Copyright (c) 2020, Oracle and/or its affiliates.8 */9 10#include <linux/fs.h>11 12#define show_fs_dirent_type(x) \13	__print_symbolic(x, \14		{ DT_UNKNOWN,		"UNKNOWN" }, \15		{ DT_FIFO,		"FIFO" }, \16		{ DT_CHR,		"CHR" }, \17		{ DT_DIR,		"DIR" }, \18		{ DT_BLK,		"BLK" }, \19		{ DT_REG,		"REG" }, \20		{ DT_LNK,		"LNK" }, \21		{ DT_SOCK,		"SOCK" }, \22		{ DT_WHT,		"WHT" })23 24#define show_fs_fcntl_open_flags(x) \25	__print_flags(x, "|", \26		{ O_WRONLY,		"O_WRONLY" }, \27		{ O_RDWR,		"O_RDWR" }, \28		{ O_CREAT,		"O_CREAT" }, \29		{ O_EXCL,		"O_EXCL" }, \30		{ O_NOCTTY,		"O_NOCTTY" }, \31		{ O_TRUNC,		"O_TRUNC" }, \32		{ O_APPEND,		"O_APPEND" }, \33		{ O_NONBLOCK,		"O_NONBLOCK" }, \34		{ O_DSYNC,		"O_DSYNC" }, \35		{ O_DIRECT,		"O_DIRECT" }, \36		{ O_LARGEFILE,		"O_LARGEFILE" }, \37		{ O_DIRECTORY,		"O_DIRECTORY" }, \38		{ O_NOFOLLOW,		"O_NOFOLLOW" }, \39		{ O_NOATIME,		"O_NOATIME" }, \40		{ O_CLOEXEC,		"O_CLOEXEC" })41 42#define __fmode_flag(x)	{ (__force unsigned long)FMODE_##x, #x }43#define show_fs_fmode_flags(x) \44	__print_flags(x, "|", \45		__fmode_flag(READ), \46		__fmode_flag(WRITE), \47		__fmode_flag(EXEC))48 49#ifdef CONFIG_64BIT50#define show_fs_fcntl_cmd(x) \51	__print_symbolic(x, \52		{ F_DUPFD,		"DUPFD" }, \53		{ F_GETFD,		"GETFD" }, \54		{ F_SETFD,		"SETFD" }, \55		{ F_GETFL,		"GETFL" }, \56		{ F_SETFL,		"SETFL" }, \57		{ F_GETLK,		"GETLK" }, \58		{ F_SETLK,		"SETLK" }, \59		{ F_SETLKW,		"SETLKW" }, \60		{ F_SETOWN,		"SETOWN" }, \61		{ F_GETOWN,		"GETOWN" }, \62		{ F_SETSIG,		"SETSIG" }, \63		{ F_GETSIG,		"GETSIG" }, \64		{ F_SETOWN_EX,		"SETOWN_EX" }, \65		{ F_GETOWN_EX,		"GETOWN_EX" }, \66		{ F_GETOWNER_UIDS,	"GETOWNER_UIDS" }, \67		{ F_OFD_GETLK,		"OFD_GETLK" }, \68		{ F_OFD_SETLK,		"OFD_SETLK" }, \69		{ F_OFD_SETLKW,		"OFD_SETLKW" })70#else /* CONFIG_64BIT */71#define show_fs_fcntl_cmd(x) \72	__print_symbolic(x, \73		{ F_DUPFD,		"DUPFD" }, \74		{ F_GETFD,		"GETFD" }, \75		{ F_SETFD,		"SETFD" }, \76		{ F_GETFL,		"GETFL" }, \77		{ F_SETFL,		"SETFL" }, \78		{ F_GETLK,		"GETLK" }, \79		{ F_SETLK,		"SETLK" }, \80		{ F_SETLKW,		"SETLKW" }, \81		{ F_SETOWN,		"SETOWN" }, \82		{ F_GETOWN,		"GETOWN" }, \83		{ F_SETSIG,		"SETSIG" }, \84		{ F_GETSIG,		"GETSIG" }, \85		{ F_GETLK64,		"GETLK64" }, \86		{ F_SETLK64,		"SETLK64" }, \87		{ F_SETLKW64,		"SETLKW64" }, \88		{ F_SETOWN_EX,		"SETOWN_EX" }, \89		{ F_GETOWN_EX,		"GETOWN_EX" }, \90		{ F_GETOWNER_UIDS,	"GETOWNER_UIDS" }, \91		{ F_OFD_GETLK,		"OFD_GETLK" }, \92		{ F_OFD_SETLK,		"OFD_SETLK" }, \93		{ F_OFD_SETLKW,		"OFD_SETLKW" })94#endif /* CONFIG_64BIT */95 96#define show_fs_fcntl_lock_type(x) \97	__print_symbolic(x, \98		{ F_RDLCK,		"RDLCK" }, \99		{ F_WRLCK,		"WRLCK" }, \100		{ F_UNLCK,		"UNLCK" })101 102#define show_fs_lookup_flags(flags) \103	__print_flags(flags, "|", \104		{ LOOKUP_FOLLOW,	"FOLLOW" }, \105		{ LOOKUP_DIRECTORY,	"DIRECTORY" }, \106		{ LOOKUP_AUTOMOUNT,	"AUTOMOUNT" }, \107		{ LOOKUP_EMPTY,		"EMPTY" }, \108		{ LOOKUP_DOWN,		"DOWN" }, \109		{ LOOKUP_MOUNTPOINT,	"MOUNTPOINT" }, \110		{ LOOKUP_REVAL,		"REVAL" }, \111		{ LOOKUP_RCU,		"RCU" }, \112		{ LOOKUP_OPEN,		"OPEN" }, \113		{ LOOKUP_CREATE,	"CREATE" }, \114		{ LOOKUP_EXCL,		"EXCL" }, \115		{ LOOKUP_RENAME_TARGET,	"RENAME_TARGET" }, \116		{ LOOKUP_PARENT,	"PARENT" }, \117		{ LOOKUP_NO_SYMLINKS,	"NO_SYMLINKS" }, \118		{ LOOKUP_NO_MAGICLINKS,	"NO_MAGICLINKS" }, \119		{ LOOKUP_NO_XDEV,	"NO_XDEV" }, \120		{ LOOKUP_BENEATH,	"BENEATH" }, \121		{ LOOKUP_IN_ROOT,	"IN_ROOT" }, \122		{ LOOKUP_CACHED,	"CACHED" })123