aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2008-07-25 04:46:51 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-25 13:53:35 -0400
commit74abb9890dafb12a50dc140de215ed477beb1b88 (patch)
tree30188b5932e54bc67fb88c0d05e5ba631fe9b698
parent02a55ca87185e114e5d298a8d00608501dbabf67 (diff)
quota: move function-macros from quota.h to quotaops.h
Move declarations of some macros, which should be in fact functions to quotaops.h. This way they can be later converted to inline functions because we can now use declarations from quota.h. Also add necessary includes of quotaops.h to a few files. [akpm@linux-foundation.org: fix JFS build] [akpm@linux-foundation.org: fix UFS build] [vegard.nossum@gmail.com: fix QUOTA=n build] Signed-off-by: Jan Kara <jack@suse.cz> Cc: Vegard Nossum <vegard.nossum@gmail.com> Cc: Arjen Pool <arjenpool@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-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 */