On Thu, Oct 08, 2020 at 12:19:09PM +0800, xiakaixu1987@xxxxxxxxx wrote: > From: Kaixu Xia <kaixuxia@xxxxxxxxxxx> > > The xfs_trans_mod_dquot() function will allocate new tp->t_dqinfo if it is > NULL and make the changes in the tp->t_dqinfo->dqs[XFS_QM_TRANS_{USR,GRP,PRJ}]. > Nowadays seems none of the callers want to join the dquots to the > transaction and push them to device when the delta is zero. Actually, > most of time the caller would check the delta and go on only when the > delta value is not zero, so we should bail out when it is zero. > > Signed-off-by: Kaixu Xia <kaixuxia@xxxxxxxxxxx> > Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > --- > fs/xfs/xfs_trans_dquot.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/fs/xfs/xfs_trans_dquot.c b/fs/xfs/xfs_trans_dquot.c > index 0ebfd7930382..3e37501791bf 100644 > --- a/fs/xfs/xfs_trans_dquot.c > +++ b/fs/xfs/xfs_trans_dquot.c > @@ -194,6 +194,9 @@ xfs_trans_mod_dquot( > ASSERT(XFS_IS_QUOTA_RUNNING(tp->t_mountp)); > qtrx = NULL; > > + if (!delta) > + return; > + Note that the calls in xfs_trans_dqresv() also check for delta != 0, so that could be removed with this patch. That aside: Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> > if (tp->t_dqinfo == NULL) > xfs_trans_alloc_dqinfo(tp); > /* > @@ -205,10 +208,8 @@ xfs_trans_mod_dquot( > if (qtrx->qt_dquot == NULL) > qtrx->qt_dquot = dqp; > > - if (delta) { > - trace_xfs_trans_mod_dquot_before(qtrx); > - trace_xfs_trans_mod_dquot(tp, dqp, field, delta); > - } > + trace_xfs_trans_mod_dquot_before(qtrx); > + trace_xfs_trans_mod_dquot(tp, dqp, field, delta); > > switch (field) { > /* regular disk blk reservation */ > @@ -261,8 +262,7 @@ xfs_trans_mod_dquot( > ASSERT(0); > } > > - if (delta) > - trace_xfs_trans_mod_dquot_after(qtrx); > + trace_xfs_trans_mod_dquot_after(qtrx); > } > > > -- > 2.20.0 >