mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-14 15:54:15 +08:00
xfs: refactor quota type testing
Certain functions can only act upon one quota type, so refactor those functions to use switch statements, in keeping with all the other high level xfs quota api calls. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
00a342e496
commit
e6eb603c7e
@ -171,6 +171,24 @@ xfs_qm_init_dquot_blk(
|
||||
ASSERT(tp);
|
||||
ASSERT(xfs_buf_islocked(bp));
|
||||
|
||||
switch (type) {
|
||||
case XFS_DQTYPE_USER:
|
||||
qflag = XFS_UQUOTA_CHKD;
|
||||
blftype = XFS_BLF_UDQUOT_BUF;
|
||||
break;
|
||||
case XFS_DQTYPE_PROJ:
|
||||
qflag = XFS_PQUOTA_CHKD;
|
||||
blftype = XFS_BLF_PDQUOT_BUF;
|
||||
break;
|
||||
case XFS_DQTYPE_GROUP:
|
||||
qflag = XFS_GQUOTA_CHKD;
|
||||
blftype = XFS_BLF_GDQUOT_BUF;
|
||||
break;
|
||||
default:
|
||||
ASSERT(0);
|
||||
return;
|
||||
}
|
||||
|
||||
d = bp->b_addr;
|
||||
|
||||
/*
|
||||
@ -190,17 +208,6 @@ xfs_qm_init_dquot_blk(
|
||||
}
|
||||
}
|
||||
|
||||
if (type & XFS_DQTYPE_USER) {
|
||||
qflag = XFS_UQUOTA_CHKD;
|
||||
blftype = XFS_BLF_UDQUOT_BUF;
|
||||
} else if (type & XFS_DQTYPE_PROJ) {
|
||||
qflag = XFS_PQUOTA_CHKD;
|
||||
blftype = XFS_BLF_PDQUOT_BUF;
|
||||
} else {
|
||||
qflag = XFS_GQUOTA_CHKD;
|
||||
blftype = XFS_BLF_GDQUOT_BUF;
|
||||
}
|
||||
|
||||
xfs_trans_dquot_buf(tp, bp, blftype);
|
||||
|
||||
/*
|
||||
|
@ -558,12 +558,19 @@ xfs_quota_warn(
|
||||
{
|
||||
enum quota_type qtype;
|
||||
|
||||
if (dqp->dq_flags & XFS_DQTYPE_PROJ)
|
||||
switch (xfs_dquot_type(dqp)) {
|
||||
case XFS_DQTYPE_PROJ:
|
||||
qtype = PRJQUOTA;
|
||||
else if (dqp->dq_flags & XFS_DQTYPE_USER)
|
||||
break;
|
||||
case XFS_DQTYPE_USER:
|
||||
qtype = USRQUOTA;
|
||||
else
|
||||
break;
|
||||
case XFS_DQTYPE_GROUP:
|
||||
qtype = GRPQUOTA;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
quota_send_warning(make_kqid(&init_user_ns, qtype, dqp->q_id),
|
||||
mp->m_super->s_dev, type);
|
||||
|
Loading…
Reference in New Issue
Block a user