1
0
Fork 0

quota: stop using QUOTA_OK / NO_QUOTA

Just use 0 / -EDQUOT directly - that's what it translates to anyway.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jan Kara <jack@suse.cz>
hifive-unleashed-5.1
Christoph Hellwig 2010-03-03 09:05:08 -05:00 committed by Jan Kara
parent 871a293155
commit efd8f0e6f6
2 changed files with 24 additions and 27 deletions

View File

@ -1181,13 +1181,13 @@ static int check_idq(struct dquot *dquot, qsize_t inodes, char *warntype)
*warntype = QUOTA_NL_NOWARN; *warntype = QUOTA_NL_NOWARN;
if (!sb_has_quota_limits_enabled(dquot->dq_sb, dquot->dq_type) || if (!sb_has_quota_limits_enabled(dquot->dq_sb, dquot->dq_type) ||
test_bit(DQ_FAKE_B, &dquot->dq_flags)) test_bit(DQ_FAKE_B, &dquot->dq_flags))
return QUOTA_OK; return 0;
if (dquot->dq_dqb.dqb_ihardlimit && if (dquot->dq_dqb.dqb_ihardlimit &&
newinodes > dquot->dq_dqb.dqb_ihardlimit && newinodes > dquot->dq_dqb.dqb_ihardlimit &&
!ignore_hardlimit(dquot)) { !ignore_hardlimit(dquot)) {
*warntype = QUOTA_NL_IHARDWARN; *warntype = QUOTA_NL_IHARDWARN;
return NO_QUOTA; return -EDQUOT;
} }
if (dquot->dq_dqb.dqb_isoftlimit && if (dquot->dq_dqb.dqb_isoftlimit &&
@ -1196,7 +1196,7 @@ static int check_idq(struct dquot *dquot, qsize_t inodes, char *warntype)
get_seconds() >= dquot->dq_dqb.dqb_itime && get_seconds() >= dquot->dq_dqb.dqb_itime &&
!ignore_hardlimit(dquot)) { !ignore_hardlimit(dquot)) {
*warntype = QUOTA_NL_ISOFTLONGWARN; *warntype = QUOTA_NL_ISOFTLONGWARN;
return NO_QUOTA; return -EDQUOT;
} }
if (dquot->dq_dqb.dqb_isoftlimit && if (dquot->dq_dqb.dqb_isoftlimit &&
@ -1207,7 +1207,7 @@ static int check_idq(struct dquot *dquot, qsize_t inodes, char *warntype)
sb_dqopt(dquot->dq_sb)->info[dquot->dq_type].dqi_igrace; sb_dqopt(dquot->dq_sb)->info[dquot->dq_type].dqi_igrace;
} }
return QUOTA_OK; return 0;
} }
/* needs dq_data_lock */ /* needs dq_data_lock */
@ -1219,7 +1219,7 @@ static int check_bdq(struct dquot *dquot, qsize_t space, int prealloc, char *war
*warntype = QUOTA_NL_NOWARN; *warntype = QUOTA_NL_NOWARN;
if (!sb_has_quota_limits_enabled(sb, dquot->dq_type) || if (!sb_has_quota_limits_enabled(sb, dquot->dq_type) ||
test_bit(DQ_FAKE_B, &dquot->dq_flags)) test_bit(DQ_FAKE_B, &dquot->dq_flags))
return QUOTA_OK; return 0;
tspace = dquot->dq_dqb.dqb_curspace + dquot->dq_dqb.dqb_rsvspace tspace = dquot->dq_dqb.dqb_curspace + dquot->dq_dqb.dqb_rsvspace
+ space; + space;
@ -1229,7 +1229,7 @@ static int check_bdq(struct dquot *dquot, qsize_t space, int prealloc, char *war
!ignore_hardlimit(dquot)) { !ignore_hardlimit(dquot)) {
if (!prealloc) if (!prealloc)
*warntype = QUOTA_NL_BHARDWARN; *warntype = QUOTA_NL_BHARDWARN;
return NO_QUOTA; return -EDQUOT;
} }
if (dquot->dq_dqb.dqb_bsoftlimit && if (dquot->dq_dqb.dqb_bsoftlimit &&
@ -1239,7 +1239,7 @@ static int check_bdq(struct dquot *dquot, qsize_t space, int prealloc, char *war
!ignore_hardlimit(dquot)) { !ignore_hardlimit(dquot)) {
if (!prealloc) if (!prealloc)
*warntype = QUOTA_NL_BSOFTLONGWARN; *warntype = QUOTA_NL_BSOFTLONGWARN;
return NO_QUOTA; return -EDQUOT;
} }
if (dquot->dq_dqb.dqb_bsoftlimit && if (dquot->dq_dqb.dqb_bsoftlimit &&
@ -1255,10 +1255,10 @@ static int check_bdq(struct dquot *dquot, qsize_t space, int prealloc, char *war
* We don't allow preallocation to exceed softlimit so exceeding will * We don't allow preallocation to exceed softlimit so exceeding will
* be always printed * be always printed
*/ */
return NO_QUOTA; return -EDQUOT;
} }
return QUOTA_OK; return 0;
} }
static int info_idq_free(struct dquot *dquot, qsize_t inodes) static int info_idq_free(struct dquot *dquot, qsize_t inodes)
@ -1507,9 +1507,9 @@ int __dquot_alloc_space(struct inode *inode, qsize_t number,
for (cnt = 0; cnt < MAXQUOTAS; cnt++) { for (cnt = 0; cnt < MAXQUOTAS; cnt++) {
if (!inode->i_dquot[cnt]) if (!inode->i_dquot[cnt])
continue; continue;
if (check_bdq(inode->i_dquot[cnt], number, !warn, warntype+cnt) ret = check_bdq(inode->i_dquot[cnt], number, !warn,
== NO_QUOTA) { warntype+cnt);
ret = -EDQUOT; if (ret) {
spin_unlock(&dq_data_lock); spin_unlock(&dq_data_lock);
goto out_flush_warn; goto out_flush_warn;
} }
@ -1541,7 +1541,7 @@ EXPORT_SYMBOL(__dquot_alloc_space);
*/ */
int dquot_alloc_inode(const struct inode *inode) int dquot_alloc_inode(const struct inode *inode)
{ {
int cnt, ret = -EDQUOT; int cnt, ret = 0;
char warntype[MAXQUOTAS]; char warntype[MAXQUOTAS];
/* First test before acquiring mutex - solves deadlocks when we /* First test before acquiring mutex - solves deadlocks when we
@ -1555,8 +1555,8 @@ int dquot_alloc_inode(const struct inode *inode)
for (cnt = 0; cnt < MAXQUOTAS; cnt++) { for (cnt = 0; cnt < MAXQUOTAS; cnt++) {
if (!inode->i_dquot[cnt]) if (!inode->i_dquot[cnt])
continue; continue;
if (check_idq(inode->i_dquot[cnt], 1, warntype+cnt) ret = check_idq(inode->i_dquot[cnt], 1, warntype + cnt);
== NO_QUOTA) if (ret)
goto warn_put_all; goto warn_put_all;
} }
@ -1565,7 +1565,7 @@ int dquot_alloc_inode(const struct inode *inode)
continue; continue;
dquot_incr_inodes(inode->i_dquot[cnt], 1); dquot_incr_inodes(inode->i_dquot[cnt], 1);
} }
ret = 0;
warn_put_all: warn_put_all:
spin_unlock(&dq_data_lock); spin_unlock(&dq_data_lock);
if (ret == 0) if (ret == 0)
@ -1683,14 +1683,14 @@ static int __dquot_transfer(struct inode *inode, qid_t *chid, unsigned long mask
qsize_t rsv_space = 0; qsize_t rsv_space = 0;
struct dquot *transfer_from[MAXQUOTAS]; struct dquot *transfer_from[MAXQUOTAS];
struct dquot *transfer_to[MAXQUOTAS]; struct dquot *transfer_to[MAXQUOTAS];
int cnt, ret = QUOTA_OK; int cnt, ret = 0;
char warntype_to[MAXQUOTAS]; char warntype_to[MAXQUOTAS];
char warntype_from_inodes[MAXQUOTAS], warntype_from_space[MAXQUOTAS]; char warntype_from_inodes[MAXQUOTAS], warntype_from_space[MAXQUOTAS];
/* First test before acquiring mutex - solves deadlocks when we /* First test before acquiring mutex - solves deadlocks when we
* re-enter the quota code and are already holding the mutex */ * re-enter the quota code and are already holding the mutex */
if (IS_NOQUOTA(inode)) if (IS_NOQUOTA(inode))
return QUOTA_OK; return 0;
/* Initialize the arrays */ /* Initialize the arrays */
for (cnt = 0; cnt < MAXQUOTAS; cnt++) { for (cnt = 0; cnt < MAXQUOTAS; cnt++) {
transfer_from[cnt] = NULL; transfer_from[cnt] = NULL;
@ -1715,9 +1715,11 @@ static int __dquot_transfer(struct inode *inode, qid_t *chid, unsigned long mask
if (!transfer_to[cnt]) if (!transfer_to[cnt])
continue; continue;
transfer_from[cnt] = inode->i_dquot[cnt]; transfer_from[cnt] = inode->i_dquot[cnt];
if (check_idq(transfer_to[cnt], 1, warntype_to + cnt) == ret = check_idq(transfer_to[cnt], 1, warntype_to + cnt);
NO_QUOTA || check_bdq(transfer_to[cnt], space, 0, if (ret)
warntype_to + cnt) == NO_QUOTA) goto over_quota;
ret = check_bdq(transfer_to[cnt], space, 0, warntype_to + cnt);
if (ret)
goto over_quota; goto over_quota;
} }
@ -1771,7 +1773,6 @@ over_quota:
/* Clear dquot pointers we don't want to dqput() */ /* Clear dquot pointers we don't want to dqput() */
for (cnt = 0; cnt < MAXQUOTAS; cnt++) for (cnt = 0; cnt < MAXQUOTAS; cnt++)
transfer_from[cnt] = NULL; transfer_from[cnt] = NULL;
ret = NO_QUOTA;
goto warn_put_all; goto warn_put_all;
} }
@ -1793,8 +1794,7 @@ int dquot_transfer(struct inode *inode, struct iattr *iattr)
} }
if (sb_any_quota_active(inode->i_sb) && !IS_NOQUOTA(inode)) { if (sb_any_quota_active(inode->i_sb) && !IS_NOQUOTA(inode)) {
dquot_initialize(inode); dquot_initialize(inode);
if (__dquot_transfer(inode, chid, mask) == NO_QUOTA) return __dquot_transfer(inode, chid, mask);
return -EDQUOT;
} }
return 0; return 0;
} }

View File

@ -279,9 +279,6 @@ struct dquot {
struct mem_dqblk dq_dqb; /* Diskquota usage */ struct mem_dqblk dq_dqb; /* Diskquota usage */
}; };
#define QUOTA_OK 0
#define NO_QUOTA 1
/* Operations which must be implemented by each quota format */ /* Operations which must be implemented by each quota format */
struct quota_format_ops { struct quota_format_ops {
int (*check_quota_file)(struct super_block *sb, int type); /* Detect whether file is in our format */ int (*check_quota_file)(struct super_block *sb, int type); /* Detect whether file is in our format */