diff options
Diffstat (limited to 'include')
| -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 |
3 files changed, 21 insertions, 10 deletions
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 | ||
