diff options
author | Christoph Hellwig <hch@lst.de> | 2010-07-07 12:53:25 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2010-08-09 16:48:44 -0400 |
commit | 365b18189789bfa1acd9939e6312b8a4b4577b28 (patch) | |
tree | ffb71da8e11c7751002d018d0b44c41776bc92a3 /include/linux/statfs.h | |
parent | ebabe9a9001af0af56c0c2780ca1576246e7a74b (diff) |
add f_flags to struct statfs(64)
Add a flags field to help glibc implementing statvfs(3) efficiently.
We copy the flag values from glibc, and add a new ST_VALID flag to
denote that f_flags is implemented.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/linux/statfs.h')
-rw-r--r-- | include/linux/statfs.h | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/include/linux/statfs.h b/include/linux/statfs.h index b34cc829f98d..0166d320a75d 100644 --- a/include/linux/statfs.h +++ b/include/linux/statfs.h | |||
@@ -2,7 +2,6 @@ | |||
2 | #define _LINUX_STATFS_H | 2 | #define _LINUX_STATFS_H |
3 | 3 | ||
4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
5 | |||
6 | #include <asm/statfs.h> | 5 | #include <asm/statfs.h> |
7 | 6 | ||
8 | struct kstatfs { | 7 | struct kstatfs { |
@@ -16,7 +15,29 @@ struct kstatfs { | |||
16 | __kernel_fsid_t f_fsid; | 15 | __kernel_fsid_t f_fsid; |
17 | long f_namelen; | 16 | long f_namelen; |
18 | long f_frsize; | 17 | long f_frsize; |
19 | long f_spare[5]; | 18 | long f_flags; |
19 | long f_spare[4]; | ||
20 | }; | 20 | }; |
21 | 21 | ||
22 | /* | ||
23 | * Definitions for the flag in f_flag. | ||
24 | * | ||
25 | * Generally these flags are equivalent to the MS_ flags used in the mount | ||
26 | * ABI. The exception is ST_VALID which has the same value as MS_REMOUNT | ||
27 | * which doesn't make any sense for statfs. | ||
28 | */ | ||
29 | #define ST_RDONLY 0x0001 /* mount read-only */ | ||
30 | #define ST_NOSUID 0x0002 /* ignore suid and sgid bits */ | ||
31 | #define ST_NODEV 0x0004 /* disallow access to device special files */ | ||
32 | #define ST_NOEXEC 0x0008 /* disallow program execution */ | ||
33 | #define ST_SYNCHRONOUS 0x0010 /* writes are synced at once */ | ||
34 | #define ST_VALID 0x0020 /* f_flags support is implemented */ | ||
35 | #define ST_MANDLOCK 0x0040 /* allow mandatory locks on an FS */ | ||
36 | /* 0x0080 used for ST_WRITE in glibc */ | ||
37 | /* 0x0100 used for ST_APPEND in glibc */ | ||
38 | /* 0x0200 used for ST_IMMUTABLE in glibc */ | ||
39 | #define ST_NOATIME 0x0400 /* do not update access times */ | ||
40 | #define ST_NODIRATIME 0x0800 /* do not update directory access times */ | ||
41 | #define ST_RELATIME 0x1000 /* update atime relative to mtime/ctime */ | ||
42 | |||
22 | #endif | 43 | #endif |