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>
This commit is contained in:
parent
1497d3ad48
commit
e4bc7b4b7f
10
fs/dquot.c
10
fs/dquot.c
|
@ -1570,18 +1570,20 @@ static inline void reset_enable_flags(struct quota_info *dqopt, int type,
|
|||
{
|
||||
switch (type) {
|
||||
case USRQUOTA:
|
||||
dqopt->flags &= ~DQUOT_USR_ENABLED;
|
||||
if (remount)
|
||||
dqopt->flags |= DQUOT_USR_SUSPENDED;
|
||||
else
|
||||
else {
|
||||
dqopt->flags &= ~DQUOT_USR_ENABLED;
|
||||
dqopt->flags &= ~DQUOT_USR_SUSPENDED;
|
||||
}
|
||||
break;
|
||||
case GRPQUOTA:
|
||||
dqopt->flags &= ~DQUOT_GRP_ENABLED;
|
||||
if (remount)
|
||||
dqopt->flags |= DQUOT_GRP_SUSPENDED;
|
||||
else
|
||||
else {
|
||||
dqopt->flags &= ~DQUOT_GRP_ENABLED;
|
||||
dqopt->flags &= ~DQUOT_GRP_SUSPENDED;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue