@@ -110,73 +110,78 @@ typedef int (dio_iodone_t)(struct kiocb *iocb, loff_t offset,
110
110
*/
111
111
112
112
/* file is open for reading */
113
- #define FMODE_READ ((__force fmode_t)0x1 )
113
+ #define FMODE_READ ((__force fmode_t)(1 << 0) )
114
114
/* file is open for writing */
115
- #define FMODE_WRITE ((__force fmode_t)0x2 )
115
+ #define FMODE_WRITE ((__force fmode_t)(1 << 1) )
116
116
/* file is seekable */
117
- #define FMODE_LSEEK ((__force fmode_t)0x4 )
117
+ #define FMODE_LSEEK ((__force fmode_t)(1 << 2) )
118
118
/* file can be accessed using pread */
119
- #define FMODE_PREAD ((__force fmode_t)0x8 )
119
+ #define FMODE_PREAD ((__force fmode_t)(1 << 3) )
120
120
/* file can be accessed using pwrite */
121
- #define FMODE_PWRITE ((__force fmode_t)0x10 )
121
+ #define FMODE_PWRITE ((__force fmode_t)(1 << 4) )
122
122
/* 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
+
124
127
/* 32bit hashes as llseek() offset (for directories) */
125
- #define FMODE_32BITHASH ((__force fmode_t)0x200 )
128
+ #define FMODE_32BITHASH ((__force fmode_t)(1 << 9) )
126
129
/* 64bit hashes as llseek() offset (for directories) */
127
- #define FMODE_64BITHASH ((__force fmode_t)0x400 )
130
+ #define FMODE_64BITHASH ((__force fmode_t)(1 << 10) )
128
131
129
132
/*
130
133
* Don't update ctime and mtime.
131
134
*
132
135
* Currently a special hack for the XFS open_by_handle ioctl, but we'll
133
136
* hopefully graduate it to a proper O_CMTIME flag supported by open(2) soon.
134
137
*/
135
- #define FMODE_NOCMTIME ((__force fmode_t)0x800 )
138
+ #define FMODE_NOCMTIME ((__force fmode_t)(1 << 11) )
136
139
137
140
/* Expect random access pattern */
138
- #define FMODE_RANDOM ((__force fmode_t)0x1000 )
141
+ #define FMODE_RANDOM ((__force fmode_t)(1 << 12) )
139
142
140
143
/* 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) )
142
145
143
146
/* 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) )
145
148
146
149
/* 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) )
148
151
/* Write access to underlying fs */
149
- #define FMODE_WRITER ((__force fmode_t)0x10000 )
152
+ #define FMODE_WRITER ((__force fmode_t)(1 << 16) )
150
153
/* Has read method(s) */
151
- #define FMODE_CAN_READ ((__force fmode_t)0x20000 )
154
+ #define FMODE_CAN_READ ((__force fmode_t)(1 << 17) )
152
155
/* Has write method(s) */
153
- #define FMODE_CAN_WRITE ((__force fmode_t)0x40000 )
156
+ #define FMODE_CAN_WRITE ((__force fmode_t)(1 << 18) )
154
157
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) )
157
160
158
161
/* File is stream-like */
159
- #define FMODE_STREAM ((__force fmode_t)0x200000 )
162
+ #define FMODE_STREAM ((__force fmode_t)(1 << 21) )
160
163
161
164
/* 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))
163
168
164
- #define FMODE_NOREUSE ((__force fmode_t)0x800000)
169
+ /* FMODE_* bit 24 */
165
170
166
171
/* File is embedded in backing_file object */
167
- #define FMODE_BACKING ((__force fmode_t)0x2000000 )
172
+ #define FMODE_BACKING ((__force fmode_t)(1 << 25) )
168
173
169
174
/* 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) )
171
176
172
177
/* 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) )
174
179
175
180
/* 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) )
177
182
178
183
/* 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) )
180
185
181
186
/*
182
187
* Attribute flags. These should be or-ed together to figure out what
0 commit comments