aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/ext2/super.c1
-rw-r--r--fs/jfs/super.c1
-rw-r--r--fs/quota_v1.c1
-rw-r--r--fs/quota_v2.c1
-rw-r--r--fs/reiserfs/super.c1
-rw-r--r--fs/ufs/super.c1
-rw-r--r--include/linux/quota.h22
-rw-r--r--include/linux/quotaops.h26
8 files changed, 35 insertions, 19 deletions
diff --git a/fs/ext2/super.c b/fs/ext2/super.c
index ef50cbc792db..31308a3b0b8b 100644
--- a/fs/ext2/super.c
+++ b/fs/ext2/super.c
@@ -31,6 +31,7 @@
31#include <linux/seq_file.h> 31#include <linux/seq_file.h>
32#include <linux/mount.h> 32#include <linux/mount.h>
33#include <linux/log2.h> 33#include <linux/log2.h>
34#include <linux/quotaops.h>
34#include <asm/uaccess.h> 35#include <asm/uaccess.h>
35#include "ext2.h" 36#include "ext2.h"
36#include "xattr.h" 37#include "xattr.h"
diff --git a/fs/jfs/super.c b/fs/jfs/super.c
index 0288e6d7936a..359c091d8965 100644
--- a/fs/jfs/super.c
+++ b/fs/jfs/super.c
@@ -22,6 +22,7 @@
22#include <linux/parser.h> 22#include <linux/parser.h>
23#include <linux/completion.h> 23#include <linux/completion.h>
24#include <linux/vfs.h> 24#include <linux/vfs.h>
25#include <linux/quotaops.h>
25#include <linux/mount.h> 26#include <linux/mount.h>
26#include <linux/moduleparam.h> 27#include <linux/moduleparam.h>
27#include <linux/kthread.h> 28#include <linux/kthread.h>
diff --git a/fs/quota_v1.c b/fs/quota_v1.c
index a6cf9269105c..5ae15b13eeb0 100644
--- a/fs/quota_v1.c
+++ b/fs/quota_v1.c
@@ -1,6 +1,7 @@
1#include <linux/errno.h> 1#include <linux/errno.h>
2#include <linux/fs.h> 2#include <linux/fs.h>
3#include <linux/quota.h> 3#include <linux/quota.h>
4#include <linux/quotaops.h>
4#include <linux/dqblk_v1.h> 5#include <linux/dqblk_v1.h>
5#include <linux/quotaio_v1.h> 6#include <linux/quotaio_v1.h>
6#include <linux/kernel.h> 7#include <linux/kernel.h>
diff --git a/fs/quota_v2.c b/fs/quota_v2.c
index 234ada903633..b53827dc02d9 100644
--- a/fs/quota_v2.c
+++ b/fs/quota_v2.c
@@ -11,6 +11,7 @@
11#include <linux/init.h> 11#include <linux/init.h>
12#include <linux/module.h> 12#include <linux/module.h>
13#include <linux/slab.h> 13#include <linux/slab.h>
14#include <linux/quotaops.h>
14 15
15#include <asm/byteorder.h> 16#include <asm/byteorder.h>
16 17
diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c
index a10a6d2a8870..2ec748ba0bd3 100644
--- a/fs/reiserfs/super.c
+++ b/fs/reiserfs/super.c
@@ -22,6 +22,7 @@
22#include <linux/blkdev.h> 22#include <linux/blkdev.h>
23#include <linux/buffer_head.h> 23#include <linux/buffer_head.h>
24#include <linux/exportfs.h> 24#include <linux/exportfs.h>
25#include <linux/quotaops.h>
25#include <linux/vfs.h> 26#include <linux/vfs.h>
26#include <linux/mnt_namespace.h> 27#include <linux/mnt_namespace.h>
27#include <linux/mount.h> 28#include <linux/mount.h>
diff --git a/fs/ufs/super.c b/fs/ufs/super.c
index 506f724055c2..227c9d700040 100644
--- a/fs/ufs/super.c
+++ b/fs/ufs/super.c
@@ -76,6 +76,7 @@
76 76
77#include <linux/errno.h> 77#include <linux/errno.h>
78#include <linux/fs.h> 78#include <linux/fs.h>
79#include <linux/quotaops.h>
79#include <linux/slab.h> 80#include <linux/slab.h>
80#include <linux/time.h> 81#include <linux/time.h>
81#include <linux/stat.h> 82#include <linux/stat.h>
diff --git a/include/linux/quota.h b/include/linux/quota.h
index 6f1d97ddf828..f9983ea0ff88 100644
--- a/include/linux/quota.h
+++ b/include/linux/quota.h
@@ -41,9 +41,6 @@
41#define __DQUOT_VERSION__ "dquot_6.5.1" 41#define __DQUOT_VERSION__ "dquot_6.5.1"
42#define __DQUOT_NUM_VERSION__ 6*10000+5*100+1 42#define __DQUOT_NUM_VERSION__ 6*10000+5*100+1
43 43
44typedef __kernel_uid32_t qid_t; /* Type in which we store ids in memory */
45typedef __u64 qsize_t; /* Type in which we store sizes */
46
47/* Size of blocks in which are counted size limits */ 44/* Size of blocks in which are counted size limits */
48#define QUOTABLOCK_BITS 10 45#define QUOTABLOCK_BITS 10
49#define QUOTABLOCK_SIZE (1 << QUOTABLOCK_BITS) 46#define QUOTABLOCK_SIZE (1 << QUOTABLOCK_BITS)
@@ -172,6 +169,9 @@ enum {
172 169
173#include <asm/atomic.h> 170#include <asm/atomic.h>
174 171
172typedef __kernel_uid32_t qid_t; /* Type in which we store ids in memory */
173typedef __u64 qsize_t; /* Type in which we store sizes */
174
175extern spinlock_t dq_data_lock; 175extern spinlock_t dq_data_lock;
176 176
177/* Maximal numbers of writes for quota operation (insert/delete/update) 177/* Maximal numbers of writes for quota operation (insert/delete/update)
@@ -225,9 +225,6 @@ struct super_block;
225extern void mark_info_dirty(struct super_block *sb, int type); 225extern void mark_info_dirty(struct super_block *sb, int type);
226#define info_dirty(info) test_bit(DQF_INFO_DIRTY_B, &(info)->dqi_flags) 226#define info_dirty(info) test_bit(DQF_INFO_DIRTY_B, &(info)->dqi_flags)
227 227
228#define sb_dqopt(sb) (&(sb)->s_dquot)
229#define sb_dqinfo(sb, type) (sb_dqopt(sb)->info+(type))
230
231struct dqstats { 228struct dqstats {
232 int lookups; 229 int lookups;
233 int drops; 230 int drops;
@@ -335,19 +332,6 @@ struct quota_info {
335 struct quota_format_ops *ops[MAXQUOTAS]; /* Operations for each type */ 332 struct quota_format_ops *ops[MAXQUOTAS]; /* Operations for each type */
336}; 333};
337 334
338#define sb_has_quota_enabled(sb, type) ((type)==USRQUOTA ? \
339 (sb_dqopt(sb)->flags & DQUOT_USR_ENABLED) : (sb_dqopt(sb)->flags & DQUOT_GRP_ENABLED))
340
341#define sb_any_quota_enabled(sb) (sb_has_quota_enabled(sb, USRQUOTA) | \
342 sb_has_quota_enabled(sb, GRPQUOTA))
343
344#define sb_has_quota_suspended(sb, type) \
345 ((type) == USRQUOTA ? (sb_dqopt(sb)->flags & DQUOT_USR_SUSPENDED) : \
346 (sb_dqopt(sb)->flags & DQUOT_GRP_SUSPENDED))
347
348#define sb_any_quota_suspended(sb) (sb_has_quota_suspended(sb, USRQUOTA) | \
349 sb_has_quota_suspended(sb, GRPQUOTA))
350
351int register_quota_format(struct quota_format_type *fmt); 335int register_quota_format(struct quota_format_type *fmt);
352void unregister_quota_format(struct quota_format_type *fmt); 336void unregister_quota_format(struct quota_format_type *fmt);
353 337
diff --git a/include/linux/quotaops.h b/include/linux/quotaops.h
index 0c8f9fe462af..38218c1334b1 100644
--- a/include/linux/quotaops.h
+++ b/include/linux/quotaops.h
@@ -14,6 +14,8 @@
14 14
15#include <linux/fs.h> 15#include <linux/fs.h>
16 16
17#define sb_dqopt(sb) (&(sb)->s_dquot)
18
17#if defined(CONFIG_QUOTA) 19#if defined(CONFIG_QUOTA)
18 20
19/* 21/*
@@ -52,6 +54,25 @@ void vfs_dq_drop(struct inode *inode);
52int vfs_dq_transfer(struct inode *inode, struct iattr *iattr); 54int vfs_dq_transfer(struct inode *inode, struct iattr *iattr);
53int vfs_dq_quota_on_remount(struct super_block *sb); 55int vfs_dq_quota_on_remount(struct super_block *sb);
54 56
57#define sb_dqinfo(sb, type) (sb_dqopt(sb)->info+(type))
58
59/*
60 * Functions for checking status of quota
61 */
62
63#define sb_has_quota_enabled(sb, type) ((type)==USRQUOTA ? \
64 (sb_dqopt(sb)->flags & DQUOT_USR_ENABLED) : (sb_dqopt(sb)->flags & DQUOT_GRP_ENABLED))
65
66#define sb_any_quota_enabled(sb) (sb_has_quota_enabled(sb, USRQUOTA) | \
67 sb_has_quota_enabled(sb, GRPQUOTA))
68
69#define sb_has_quota_suspended(sb, type) \
70 ((type) == USRQUOTA ? (sb_dqopt(sb)->flags & DQUOT_USR_SUSPENDED) : \
71 (sb_dqopt(sb)->flags & DQUOT_GRP_SUSPENDED))
72
73#define sb_any_quota_suspended(sb) (sb_has_quota_suspended(sb, USRQUOTA) | \
74 sb_has_quota_suspended(sb, GRPQUOTA))
75
55/* 76/*
56 * Operations supported for diskquotas. 77 * Operations supported for diskquotas.
57 */ 78 */
@@ -159,6 +180,11 @@ static inline int vfs_dq_off(struct super_block *sb, int remount)
159 180
160#else 181#else
161 182
183#define sb_has_quota_enabled(sb, type) 0
184#define sb_any_quota_enabled(sb) 0
185#define sb_has_quota_suspended(sb, type) 0
186#define sb_any_quota_suspended(sb) 0
187
162/* 188/*
163 * NO-OP when quota not configured. 189 * NO-OP when quota not configured.
164 */ 190 */