Skip to content

Commit 0a4f544

Browse files
committed
fs: use bit shifts for FMODE_* flags
Make it easier to see what bits are still available. Link: https://lore.kernel.org/r/20240406061604.GA538574@ZenIV Signed-off-by: Christian Brauner <brauner@kernel.org>
1 parent 210a03c commit 0a4f544

File tree

1 file changed

+31
-26
lines changed

1 file changed

+31
-26
lines changed

include/linux/fs.h

+31-26
Original file line numberDiff line numberDiff line change
@@ -110,73 +110,78 @@ typedef int (dio_iodone_t)(struct kiocb *iocb, loff_t offset,
110110
*/
111111

112112
/* file is open for reading */
113-
#define FMODE_READ ((__force fmode_t)0x1)
113+
#define FMODE_READ ((__force fmode_t)(1 << 0))
114114
/* file is open for writing */
115-
#define FMODE_WRITE ((__force fmode_t)0x2)
115+
#define FMODE_WRITE ((__force fmode_t)(1 << 1))
116116
/* file is seekable */
117-
#define FMODE_LSEEK ((__force fmode_t)0x4)
117+
#define FMODE_LSEEK ((__force fmode_t)(1 << 2))
118118
/* file can be accessed using pread */
119-
#define FMODE_PREAD ((__force fmode_t)0x8)
119+
#define FMODE_PREAD ((__force fmode_t)(1 << 3))
120120
/* file can be accessed using pwrite */
121-
#define FMODE_PWRITE ((__force fmode_t)0x10)
121+
#define FMODE_PWRITE ((__force fmode_t)(1 << 4))
122122
/* File is opened for execution with sys_execve / sys_uselib */
123-
#define FMODE_EXEC ((__force fmode_t)0x20)
123+
#define FMODE_EXEC ((__force fmode_t)(1 << 5))
124+
125+
/* FMODE_* bits 6 to 8 */
126+
124127
/* 32bit hashes as llseek() offset (for directories) */
125-
#define FMODE_32BITHASH ((__force fmode_t)0x200)
128+
#define FMODE_32BITHASH ((__force fmode_t)(1 << 9))
126129
/* 64bit hashes as llseek() offset (for directories) */
127-
#define FMODE_64BITHASH ((__force fmode_t)0x400)
130+
#define FMODE_64BITHASH ((__force fmode_t)(1 << 10))
128131

129132
/*
130133
* Don't update ctime and mtime.
131134
*
132135
* Currently a special hack for the XFS open_by_handle ioctl, but we'll
133136
* hopefully graduate it to a proper O_CMTIME flag supported by open(2) soon.
134137
*/
135-
#define FMODE_NOCMTIME ((__force fmode_t)0x800)
138+
#define FMODE_NOCMTIME ((__force fmode_t)(1 << 11))
136139

137140
/* Expect random access pattern */
138-
#define FMODE_RANDOM ((__force fmode_t)0x1000)
141+
#define FMODE_RANDOM ((__force fmode_t)(1 << 12))
139142

140143
/* File is huge (eg. /dev/mem): treat loff_t as unsigned */
141-
#define FMODE_UNSIGNED_OFFSET ((__force fmode_t)0x2000)
144+
#define FMODE_UNSIGNED_OFFSET ((__force fmode_t)(1 << 13))
142145

143146
/* File is opened with O_PATH; almost nothing can be done with it */
144-
#define FMODE_PATH ((__force fmode_t)0x4000)
147+
#define FMODE_PATH ((__force fmode_t)(1 << 14))
145148

146149
/* File needs atomic accesses to f_pos */
147-
#define FMODE_ATOMIC_POS ((__force fmode_t)0x8000)
150+
#define FMODE_ATOMIC_POS ((__force fmode_t)(1 << 15))
148151
/* Write access to underlying fs */
149-
#define FMODE_WRITER ((__force fmode_t)0x10000)
152+
#define FMODE_WRITER ((__force fmode_t)(1 << 16))
150153
/* Has read method(s) */
151-
#define FMODE_CAN_READ ((__force fmode_t)0x20000)
154+
#define FMODE_CAN_READ ((__force fmode_t)(1 << 17))
152155
/* Has write method(s) */
153-
#define FMODE_CAN_WRITE ((__force fmode_t)0x40000)
156+
#define FMODE_CAN_WRITE ((__force fmode_t)(1 << 18))
154157

155-
#define FMODE_OPENED ((__force fmode_t)0x80000)
156-
#define FMODE_CREATED ((__force fmode_t)0x100000)
158+
#define FMODE_OPENED ((__force fmode_t)(1 << 19))
159+
#define FMODE_CREATED ((__force fmode_t)(1 << 20))
157160

158161
/* File is stream-like */
159-
#define FMODE_STREAM ((__force fmode_t)0x200000)
162+
#define FMODE_STREAM ((__force fmode_t)(1 << 21))
160163

161164
/* File supports DIRECT IO */
162-
#define FMODE_CAN_ODIRECT ((__force fmode_t)0x400000)
165+
#define FMODE_CAN_ODIRECT ((__force fmode_t)(1 << 22))
166+
167+
#define FMODE_NOREUSE ((__force fmode_t)(1 << 23))
163168

164-
#define FMODE_NOREUSE ((__force fmode_t)0x800000)
169+
/* FMODE_* bit 24 */
165170

166171
/* File is embedded in backing_file object */
167-
#define FMODE_BACKING ((__force fmode_t)0x2000000)
172+
#define FMODE_BACKING ((__force fmode_t)(1 << 25))
168173

169174
/* File was opened by fanotify and shouldn't generate fanotify events */
170-
#define FMODE_NONOTIFY ((__force fmode_t)0x4000000)
175+
#define FMODE_NONOTIFY ((__force fmode_t)(1 << 26))
171176

172177
/* File is capable of returning -EAGAIN if I/O will block */
173-
#define FMODE_NOWAIT ((__force fmode_t)0x8000000)
178+
#define FMODE_NOWAIT ((__force fmode_t)(1 << 27))
174179

175180
/* File represents mount that needs unmounting */
176-
#define FMODE_NEED_UNMOUNT ((__force fmode_t)0x10000000)
181+
#define FMODE_NEED_UNMOUNT ((__force fmode_t)(1 << 28))
177182

178183
/* File does not contribute to nr_files count */
179-
#define FMODE_NOACCOUNT ((__force fmode_t)0x20000000)
184+
#define FMODE_NOACCOUNT ((__force fmode_t)(1 << 29))
180185

181186
/*
182187
* Attribute flags. These should be or-ed together to figure out what

0 commit comments

Comments
 (0)