Commit 0a4f544d authored by Christian Brauner's avatar Christian Brauner

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@ZenIVSigned-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent 210a03c9
...@@ -110,21 +110,24 @@ typedef int (dio_iodone_t)(struct kiocb *iocb, loff_t offset, ...@@ -110,21 +110,24 @@ typedef int (dio_iodone_t)(struct kiocb *iocb, loff_t offset,
*/ */
/* file is open for reading */ /* file is open for reading */
#define FMODE_READ ((__force fmode_t)0x1) #define FMODE_READ ((__force fmode_t)(1 << 0))
/* file is open for writing */ /* file is open for writing */
#define FMODE_WRITE ((__force fmode_t)0x2) #define FMODE_WRITE ((__force fmode_t)(1 << 1))
/* file is seekable */ /* file is seekable */
#define FMODE_LSEEK ((__force fmode_t)0x4) #define FMODE_LSEEK ((__force fmode_t)(1 << 2))
/* file can be accessed using pread */ /* file can be accessed using pread */
#define FMODE_PREAD ((__force fmode_t)0x8) #define FMODE_PREAD ((__force fmode_t)(1 << 3))
/* file can be accessed using pwrite */ /* file can be accessed using pwrite */
#define FMODE_PWRITE ((__force fmode_t)0x10) #define FMODE_PWRITE ((__force fmode_t)(1 << 4))
/* File is opened for execution with sys_execve / sys_uselib */ /* File is opened for execution with sys_execve / sys_uselib */
#define FMODE_EXEC ((__force fmode_t)0x20) #define FMODE_EXEC ((__force fmode_t)(1 << 5))
/* FMODE_* bits 6 to 8 */
/* 32bit hashes as llseek() offset (for directories) */ /* 32bit hashes as llseek() offset (for directories) */
#define FMODE_32BITHASH ((__force fmode_t)0x200) #define FMODE_32BITHASH ((__force fmode_t)(1 << 9))
/* 64bit hashes as llseek() offset (for directories) */ /* 64bit hashes as llseek() offset (for directories) */
#define FMODE_64BITHASH ((__force fmode_t)0x400) #define FMODE_64BITHASH ((__force fmode_t)(1 << 10))
/* /*
* Don't update ctime and mtime. * Don't update ctime and mtime.
...@@ -132,51 +135,53 @@ typedef int (dio_iodone_t)(struct kiocb *iocb, loff_t offset, ...@@ -132,51 +135,53 @@ typedef int (dio_iodone_t)(struct kiocb *iocb, loff_t offset,
* Currently a special hack for the XFS open_by_handle ioctl, but we'll * Currently a special hack for the XFS open_by_handle ioctl, but we'll
* hopefully graduate it to a proper O_CMTIME flag supported by open(2) soon. * hopefully graduate it to a proper O_CMTIME flag supported by open(2) soon.
*/ */
#define FMODE_NOCMTIME ((__force fmode_t)0x800) #define FMODE_NOCMTIME ((__force fmode_t)(1 << 11))
/* Expect random access pattern */ /* Expect random access pattern */
#define FMODE_RANDOM ((__force fmode_t)0x1000) #define FMODE_RANDOM ((__force fmode_t)(1 << 12))
/* File is huge (eg. /dev/mem): treat loff_t as unsigned */ /* File is huge (eg. /dev/mem): treat loff_t as unsigned */
#define FMODE_UNSIGNED_OFFSET ((__force fmode_t)0x2000) #define FMODE_UNSIGNED_OFFSET ((__force fmode_t)(1 << 13))
/* File is opened with O_PATH; almost nothing can be done with it */ /* File is opened with O_PATH; almost nothing can be done with it */
#define FMODE_PATH ((__force fmode_t)0x4000) #define FMODE_PATH ((__force fmode_t)(1 << 14))
/* File needs atomic accesses to f_pos */ /* File needs atomic accesses to f_pos */
#define FMODE_ATOMIC_POS ((__force fmode_t)0x8000) #define FMODE_ATOMIC_POS ((__force fmode_t)(1 << 15))
/* Write access to underlying fs */ /* Write access to underlying fs */
#define FMODE_WRITER ((__force fmode_t)0x10000) #define FMODE_WRITER ((__force fmode_t)(1 << 16))
/* Has read method(s) */ /* Has read method(s) */
#define FMODE_CAN_READ ((__force fmode_t)0x20000) #define FMODE_CAN_READ ((__force fmode_t)(1 << 17))
/* Has write method(s) */ /* Has write method(s) */
#define FMODE_CAN_WRITE ((__force fmode_t)0x40000) #define FMODE_CAN_WRITE ((__force fmode_t)(1 << 18))
#define FMODE_OPENED ((__force fmode_t)0x80000) #define FMODE_OPENED ((__force fmode_t)(1 << 19))
#define FMODE_CREATED ((__force fmode_t)0x100000) #define FMODE_CREATED ((__force fmode_t)(1 << 20))
/* File is stream-like */ /* File is stream-like */
#define FMODE_STREAM ((__force fmode_t)0x200000) #define FMODE_STREAM ((__force fmode_t)(1 << 21))
/* File supports DIRECT IO */ /* File supports DIRECT IO */
#define FMODE_CAN_ODIRECT ((__force fmode_t)0x400000) #define FMODE_CAN_ODIRECT ((__force fmode_t)(1 << 22))
#define FMODE_NOREUSE ((__force fmode_t)(1 << 23))
#define FMODE_NOREUSE ((__force fmode_t)0x800000) /* FMODE_* bit 24 */
/* File is embedded in backing_file object */ /* File is embedded in backing_file object */
#define FMODE_BACKING ((__force fmode_t)0x2000000) #define FMODE_BACKING ((__force fmode_t)(1 << 25))
/* File was opened by fanotify and shouldn't generate fanotify events */ /* File was opened by fanotify and shouldn't generate fanotify events */
#define FMODE_NONOTIFY ((__force fmode_t)0x4000000) #define FMODE_NONOTIFY ((__force fmode_t)(1 << 26))
/* File is capable of returning -EAGAIN if I/O will block */ /* File is capable of returning -EAGAIN if I/O will block */
#define FMODE_NOWAIT ((__force fmode_t)0x8000000) #define FMODE_NOWAIT ((__force fmode_t)(1 << 27))
/* File represents mount that needs unmounting */ /* File represents mount that needs unmounting */
#define FMODE_NEED_UNMOUNT ((__force fmode_t)0x10000000) #define FMODE_NEED_UNMOUNT ((__force fmode_t)(1 << 28))
/* File does not contribute to nr_files count */ /* File does not contribute to nr_files count */
#define FMODE_NOACCOUNT ((__force fmode_t)0x20000000) #define FMODE_NOACCOUNT ((__force fmode_t)(1 << 29))
/* /*
* Attribute flags. These should be or-ed together to figure out what * Attribute flags. These should be or-ed together to figure out what
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment