On Tuesday 5 May 2020 6:41:53 AM IST Darrick J. Wong wrote: > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > Quotaoff doesn't actually do anything, so take advantage of the > commit_pass2 pointer being optional and get rid of the switch > statement clause. > If we did have an invalid item the check in xlog_recover_commit_trans() would have caught it. Hence we don't require yet another invalid item type check. Reviewed-by: Chandan Babu R <chandanrlinux@xxxxxxxxx> > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > --- > fs/xfs/xfs_dquot_item_recover.c | 1 + > fs/xfs/xfs_log_recover.c | 33 ++++++--------------------------- > 2 files changed, 7 insertions(+), 27 deletions(-) > > > diff --git a/fs/xfs/xfs_dquot_item_recover.c b/fs/xfs/xfs_dquot_item_recover.c > index 07ff943972a3..a07c1c8344d8 100644 > --- a/fs/xfs/xfs_dquot_item_recover.c > +++ b/fs/xfs/xfs_dquot_item_recover.c > @@ -197,4 +197,5 @@ xlog_recover_quotaoff_commit_pass1( > const struct xlog_recover_item_ops xlog_quotaoff_item_ops = { > .item_type = XFS_LI_QUOTAOFF, > .commit_pass1 = xlog_recover_quotaoff_commit_pass1, > + .commit_pass2 = NULL, /* nothing to do in pass2 */ > }; > diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c > index a5158e9e0662..929e2caeeb42 100644 > --- a/fs/xfs/xfs_log_recover.c > +++ b/fs/xfs/xfs_log_recover.c > @@ -2034,31 +2034,6 @@ xlog_buf_readahead( > xfs_buf_readahead(log->l_mp->m_ddev_targp, blkno, len, ops); > } > > -STATIC int > -xlog_recover_commit_pass2( > - struct xlog *log, > - struct xlog_recover *trans, > - struct list_head *buffer_list, > - struct xlog_recover_item *item) > -{ > - trace_xfs_log_recover_item_recover(log, trans, item, XLOG_RECOVER_PASS2); > - > - if (item->ri_ops && item->ri_ops->commit_pass2) > - return item->ri_ops->commit_pass2(log, buffer_list, item, > - trans->r_lsn); > - > - switch (ITEM_TYPE(item)) { > - case XFS_LI_QUOTAOFF: > - /* nothing to do in pass2 */ > - return 0; > - default: > - xfs_warn(log->l_mp, "%s: invalid item type (%d)", > - __func__, ITEM_TYPE(item)); > - ASSERT(0); > - return -EFSCORRUPTED; > - } > -} > - > STATIC int > xlog_recover_items_pass2( > struct xlog *log, > @@ -2070,8 +2045,12 @@ xlog_recover_items_pass2( > int error = 0; > > list_for_each_entry(item, item_list, ri_list) { > - error = xlog_recover_commit_pass2(log, trans, > - buffer_list, item); > + trace_xfs_log_recover_item_recover(log, trans, item, > + XLOG_RECOVER_PASS2); > + > + if (item->ri_ops->commit_pass2) > + error = item->ri_ops->commit_pass2(log, buffer_list, > + item, trans->r_lsn); > if (error) > return error; > } > > -- chandan