#define MAY_ACCESS 16
#define MAY_OPEN 32
- #define FMODE_READ ((__force fmode_t)1)
- #define FMODE_WRITE ((__force fmode_t)2)
-
- /* Internal kernel extensions */
- #define FMODE_LSEEK ((__force fmode_t)4)
- #define FMODE_PREAD ((__force fmode_t)8)
- #define FMODE_PWRITE FMODE_PREAD /* These go hand in hand */
-
- /* File is being opened for execution. Primary users of this flag are
- distributed filesystems that can use it to achieve correct ETXTBUSY
- behavior for cross-node execution/opening_for_writing of files */
- #define FMODE_EXEC ((__force fmode_t)16)
-
- #define FMODE_NDELAY ((__force fmode_t)32)
- #define FMODE_EXCL ((__force fmode_t)64)
+ /* file is open for reading */
+ #define FMODE_READ ((__force fmode_t)1)
+ /* file is open for writing */
+ #define FMODE_WRITE ((__force fmode_t)2)
+ /* file is seekable */
+ #define FMODE_LSEEK ((__force fmode_t)4)
+ /* file can be accessed using pread/pwrite */
+ #define FMODE_PREAD ((__force fmode_t)8)
+ #define FMODE_PWRITE FMODE_PREAD /* These go hand in hand */
+ /* File is opened for execution with sys_execve / sys_uselib */
+ #define FMODE_EXEC ((__force fmode_t)16)
+ /* File is opened with O_NDELAY (only set for block devices) */
+ #define FMODE_NDELAY ((__force fmode_t)32)
+ /* File is opened with O_EXCL (only set for block devices) */
+ #define FMODE_EXCL ((__force fmode_t)64)
+ /* File is opened using open(.., 3, ..) and is writeable only for ioctls
+ (specialy hack for floppy.c) */
#define FMODE_WRITE_IOCTL ((__force fmode_t)128)
- #define FMODE_NDELAY_NOW ((__force fmode_t)256)
+/*
+ * Don't update ctime and mtime.
+ *
+ * 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.
+ */
+#define FMODE_NOCMTIME ((__force fmode_t)2048)
+
#define RW_MASK 1
#define RWA_MASK 2
#define READ 0