summaryrefslogtreecommitdiff
path: root/include/linux/quotaops.h
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2008-08-20 18:21:01 +0400
committerMark Fasheh <mfasheh@suse.com>2009-01-05 19:36:56 +0300
commite4bc7b4b7ff783779b6928d55a9308910bf180a3 (patch)
tree1cf54906c8686507f9cc127754210930d27a0471 /include/linux/quotaops.h
parent1497d3ad487b64eeea83ac203263802755438949 (diff)
downloadlinux-e4bc7b4b7ff783779b6928d55a9308910bf180a3.tar.xz
quota: Make _SUSPENDED just a flag
Upto now, DQUOT_USR_SUSPENDED behaved like a state - i.e., either quota was enabled or suspended or none. Now allowed states are 0, ENABLED, ENABLED | SUSPENDED. This will be useful later when we implement separate enabling of quota usage tracking and limits enforcement because we need to keep track of a state which has been suspended. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Mark Fasheh <mfasheh@suse.com>
Diffstat (limited to 'include/linux/quotaops.h')
-rw-r--r--include/linux/quotaops.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/quotaops.h b/include/linux/quotaops.h
index adcc7ba3accb..ffd97071cd1e 100644
--- a/include/linux/quotaops.h
+++ b/include/linux/quotaops.h
@@ -67,8 +67,10 @@ static inline struct mem_dqinfo *sb_dqinfo(struct super_block *sb, int type)
static inline int sb_has_quota_enabled(struct super_block *sb, int type)
{
if (type == USRQUOTA)
- return sb_dqopt(sb)->flags & DQUOT_USR_ENABLED;
- return sb_dqopt(sb)->flags & DQUOT_GRP_ENABLED;
+ return (sb_dqopt(sb)->flags & DQUOT_USR_ENABLED)
+ && !(sb_dqopt(sb)->flags & DQUOT_USR_SUSPENDED);
+ return (sb_dqopt(sb)->flags & DQUOT_GRP_ENABLED)
+ && !(sb_dqopt(sb)->flags & DQUOT_GROUP_SUSPENDED);
}
static inline int sb_any_quota_enabled(struct super_block *sb)