diff options
author | Jan Kara <jack@suse.cz> | 2014-11-19 03:21:58 -0500 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2015-01-21 13:21:30 -0500 |
commit | 9c45101e88b2bf2ce36b8833fcfa784a9149aa74 (patch) | |
tree | 6444ff15cb9c5a41c156510d7670f5c47f053867 | |
parent | 96827adcc2d0eed3fdf7f88e73a50a83b23def96 (diff) |
quota: Cleanup flags definitions
Currently all quota flags were defined just in kernel-private headers.
Export flags readable / writeable from userspace to userspace via
include/uapi/linux/quota.h.
Signed-off-by: Jan Kara <jack@suse.cz>
-rw-r--r-- | fs/quota/dquot.c | 2 | ||||
-rw-r--r-- | include/linux/dqblk_v1.h | 3 | ||||
-rw-r--r-- | include/linux/quota.h | 14 | ||||
-rw-r--r-- | include/uapi/linux/quota.h | 14 |
4 files changed, 22 insertions, 11 deletions
diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index 8f0acef3d184..f8be368b9086 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c | |||
@@ -1248,7 +1248,7 @@ static int ignore_hardlimit(struct dquot *dquot) | |||
1248 | 1248 | ||
1249 | return capable(CAP_SYS_RESOURCE) && | 1249 | return capable(CAP_SYS_RESOURCE) && |
1250 | (info->dqi_format->qf_fmt_id != QFMT_VFS_OLD || | 1250 | (info->dqi_format->qf_fmt_id != QFMT_VFS_OLD || |
1251 | !(info->dqi_flags & V1_DQF_RSQUASH)); | 1251 | !(info->dqi_flags & DQF_ROOT_SQUASH)); |
1252 | } | 1252 | } |
1253 | 1253 | ||
1254 | /* needs dq_data_lock */ | 1254 | /* needs dq_data_lock */ |
diff --git a/include/linux/dqblk_v1.h b/include/linux/dqblk_v1.h index 3713a7232dd8..c0d4d1e2a45c 100644 --- a/include/linux/dqblk_v1.h +++ b/include/linux/dqblk_v1.h | |||
@@ -5,9 +5,6 @@ | |||
5 | #ifndef _LINUX_DQBLK_V1_H | 5 | #ifndef _LINUX_DQBLK_V1_H |
6 | #define _LINUX_DQBLK_V1_H | 6 | #define _LINUX_DQBLK_V1_H |
7 | 7 | ||
8 | /* Root squash turned on */ | ||
9 | #define V1_DQF_RSQUASH 1 | ||
10 | |||
11 | /* Numbers of blocks needed for updates */ | 8 | /* Numbers of blocks needed for updates */ |
12 | #define V1_INIT_ALLOC 1 | 9 | #define V1_INIT_ALLOC 1 |
13 | #define V1_INIT_REWRITE 1 | 10 | #define V1_INIT_REWRITE 1 |
diff --git a/include/linux/quota.h b/include/linux/quota.h index 50978b781a19..0c42113607ce 100644 --- a/include/linux/quota.h +++ b/include/linux/quota.h | |||
@@ -223,12 +223,14 @@ struct mem_dqinfo { | |||
223 | 223 | ||
224 | struct super_block; | 224 | struct super_block; |
225 | 225 | ||
226 | #define DQF_MASK 0xffff /* Mask for format specific flags */ | 226 | /* Mask for flags passed to userspace */ |
227 | #define DQF_GETINFO_MASK 0x1ffff /* Mask for flags passed to userspace */ | 227 | #define DQF_GETINFO_MASK (DQF_ROOT_SQUASH | DQF_SYS_FILE) |
228 | #define DQF_SETINFO_MASK 0xffff /* Mask for flags modifiable from userspace */ | 228 | /* Mask for flags modifiable from userspace */ |
229 | #define DQF_SYS_FILE_B 16 | 229 | #define DQF_SETINFO_MASK DQF_ROOT_SQUASH |
230 | #define DQF_SYS_FILE (1 << DQF_SYS_FILE_B) /* Quota file stored as system file */ | 230 | |
231 | #define DQF_INFO_DIRTY_B 31 | 231 | enum { |
232 | DQF_INFO_DIRTY_B = DQF_PRIVATE, | ||
233 | }; | ||
232 | #define DQF_INFO_DIRTY (1 << DQF_INFO_DIRTY_B) /* Is info dirty? */ | 234 | #define DQF_INFO_DIRTY (1 << DQF_INFO_DIRTY_B) /* Is info dirty? */ |
233 | 235 | ||
234 | extern void mark_info_dirty(struct super_block *sb, int type); | 236 | extern void mark_info_dirty(struct super_block *sb, int type); |
diff --git a/include/uapi/linux/quota.h b/include/uapi/linux/quota.h index 3b6cfbeb086d..1f49b8341c99 100644 --- a/include/uapi/linux/quota.h +++ b/include/uapi/linux/quota.h | |||
@@ -126,10 +126,22 @@ struct if_dqblk { | |||
126 | #define IIF_FLAGS 4 | 126 | #define IIF_FLAGS 4 |
127 | #define IIF_ALL (IIF_BGRACE | IIF_IGRACE | IIF_FLAGS) | 127 | #define IIF_ALL (IIF_BGRACE | IIF_IGRACE | IIF_FLAGS) |
128 | 128 | ||
129 | enum { | ||
130 | DQF_ROOT_SQUASH_B = 0, | ||
131 | DQF_SYS_FILE_B = 16, | ||
132 | /* Kernel internal flags invisible to userspace */ | ||
133 | DQF_PRIVATE | ||
134 | }; | ||
135 | |||
136 | /* Root squash enabled (for v1 quota format) */ | ||
137 | #define DQF_ROOT_SQUASH (1 << DQF_ROOT_SQUASH_B) | ||
138 | /* Quota stored in a system file */ | ||
139 | #define DQF_SYS_FILE (1 << DQF_SYS_FILE_B) | ||
140 | |||
129 | struct if_dqinfo { | 141 | struct if_dqinfo { |
130 | __u64 dqi_bgrace; | 142 | __u64 dqi_bgrace; |
131 | __u64 dqi_igrace; | 143 | __u64 dqi_igrace; |
132 | __u32 dqi_flags; | 144 | __u32 dqi_flags; /* DFQ_* */ |
133 | __u32 dqi_valid; | 145 | __u32 dqi_valid; |
134 | }; | 146 | }; |
135 | 147 | ||