aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/quota.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/quota.h')
-rw-r--r--include/linux/quota.h22
1 files changed, 12 insertions, 10 deletions
diff --git a/include/linux/quota.h b/include/linux/quota.h
index 097d7eb2441e..d534e8ed308a 100644
--- a/include/linux/quota.h
+++ b/include/linux/quota.h
@@ -216,19 +216,21 @@ struct mem_dqinfo {
216 unsigned long dqi_flags; 216 unsigned long dqi_flags;
217 unsigned int dqi_bgrace; 217 unsigned int dqi_bgrace;
218 unsigned int dqi_igrace; 218 unsigned int dqi_igrace;
219 qsize_t dqi_maxblimit; 219 qsize_t dqi_max_spc_limit;
220 qsize_t dqi_maxilimit; 220 qsize_t dqi_max_ino_limit;
221 void *dqi_priv; 221 void *dqi_priv;
222}; 222};
223 223
224struct super_block; 224struct 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 231enum {
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
234extern void mark_info_dirty(struct super_block *sb, int type); 236extern void mark_info_dirty(struct super_block *sb, int type);
@@ -367,15 +369,15 @@ struct qc_dqblk {
367/* Operations handling requests from userspace */ 369/* Operations handling requests from userspace */
368struct quotactl_ops { 370struct quotactl_ops {
369 int (*quota_on)(struct super_block *, int, int, struct path *); 371 int (*quota_on)(struct super_block *, int, int, struct path *);
370 int (*quota_on_meta)(struct super_block *, int, int);
371 int (*quota_off)(struct super_block *, int); 372 int (*quota_off)(struct super_block *, int);
373 int (*quota_enable)(struct super_block *, unsigned int);
374 int (*quota_disable)(struct super_block *, unsigned int);
372 int (*quota_sync)(struct super_block *, int); 375 int (*quota_sync)(struct super_block *, int);
373 int (*get_info)(struct super_block *, int, struct if_dqinfo *); 376 int (*get_info)(struct super_block *, int, struct if_dqinfo *);
374 int (*set_info)(struct super_block *, int, struct if_dqinfo *); 377 int (*set_info)(struct super_block *, int, struct if_dqinfo *);
375 int (*get_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *); 378 int (*get_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *);
376 int (*set_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *); 379 int (*set_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *);
377 int (*get_xstate)(struct super_block *, struct fs_quota_stat *); 380 int (*get_xstate)(struct super_block *, struct fs_quota_stat *);
378 int (*set_xstate)(struct super_block *, unsigned int, int);
379 int (*get_xstatev)(struct super_block *, struct fs_quota_statv *); 381 int (*get_xstatev)(struct super_block *, struct fs_quota_statv *);
380 int (*rm_xquota)(struct super_block *, unsigned int); 382 int (*rm_xquota)(struct super_block *, unsigned int);
381}; 383};