Skip to content

Commit e6eb603

Browse files
committed
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 <[email protected]> Reviewed-by: Dave Chinner <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]>
1 parent 00a342e commit e6eb603

File tree

2 files changed

+29
-15
lines changed

2 files changed

+29
-15
lines changed

fs/xfs/xfs_dquot.c

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,24 @@ xfs_qm_init_dquot_blk(
171171
ASSERT(tp);
172172
ASSERT(xfs_buf_islocked(bp));
173173

174+
switch (type) {
175+
case XFS_DQTYPE_USER:
176+
qflag = XFS_UQUOTA_CHKD;
177+
blftype = XFS_BLF_UDQUOT_BUF;
178+
break;
179+
case XFS_DQTYPE_PROJ:
180+
qflag = XFS_PQUOTA_CHKD;
181+
blftype = XFS_BLF_PDQUOT_BUF;
182+
break;
183+
case XFS_DQTYPE_GROUP:
184+
qflag = XFS_GQUOTA_CHKD;
185+
blftype = XFS_BLF_GDQUOT_BUF;
186+
break;
187+
default:
188+
ASSERT(0);
189+
return;
190+
}
191+
174192
d = bp->b_addr;
175193

176194
/*
@@ -190,17 +208,6 @@ xfs_qm_init_dquot_blk(
190208
}
191209
}
192210

193-
if (type & XFS_DQTYPE_USER) {
194-
qflag = XFS_UQUOTA_CHKD;
195-
blftype = XFS_BLF_UDQUOT_BUF;
196-
} else if (type & XFS_DQTYPE_PROJ) {
197-
qflag = XFS_PQUOTA_CHKD;
198-
blftype = XFS_BLF_PDQUOT_BUF;
199-
} else {
200-
qflag = XFS_GQUOTA_CHKD;
201-
blftype = XFS_BLF_GDQUOT_BUF;
202-
}
203-
204211
xfs_trans_dquot_buf(tp, bp, blftype);
205212

206213
/*

fs/xfs/xfs_trans_dquot.c

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -556,14 +556,21 @@ xfs_quota_warn(
556556
struct xfs_dquot *dqp,
557557
int type)
558558
{
559-
enum quota_type qtype;
559+
enum quota_type qtype;
560560

561-
if (dqp->dq_flags & XFS_DQTYPE_PROJ)
561+
switch (xfs_dquot_type(dqp)) {
562+
case XFS_DQTYPE_PROJ:
562563
qtype = PRJQUOTA;
563-
else if (dqp->dq_flags & XFS_DQTYPE_USER)
564+
break;
565+
case XFS_DQTYPE_USER:
564566
qtype = USRQUOTA;
565-
else
567+
break;
568+
case XFS_DQTYPE_GROUP:
566569
qtype = GRPQUOTA;
570+
break;
571+
default:
572+
return;
573+
}
567574

568575
quota_send_warning(make_kqid(&init_user_ns, qtype, dqp->q_id),
569576
mp->m_super->s_dev, type);

0 commit comments

Comments
 (0)