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>
This commit is contained in:
parent
871a293155
commit
efd8f0e6f6
2 changed files with 24 additions and 27 deletions
|
@ -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 @@ static int __dquot_transfer(struct inode *inode, qid_t *chid, unsigned long mask
|
||||||
/* 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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
Loading…
Add table
Reference in a new issue