Re: [PATCH v6 1/3] xfs: delete duplicated tp->t_dqinfo null check and allocation

Darrick J. Wong
2020-10-26T22:53:29Z

On Fri, Oct 16, 2020 at 11:38:26AM +0800, xiakaixu1987@gmail.com wrote:
> From: Kaixu Xia <kaixuxia@tencent.com>
>
> The function xfs_trans_mod_dquot_byino() wraps around
> xfs_trans_mod_dquot() to account for quotas, and also there is the
> function call chain xfs_trans_reserve_quota_bydquots -> xfs_trans_dqresv
> -> xfs_trans_mod_dquot, both of them do the duplicated null check and
> allocation. Thus we can delete the duplicated operation from them.
>
> Signed-off-by: Kaixu Xia <kaixuxia@tencent.com>
> Reviewed-by: Brian Foster <bfoster@redhat.com>
> Reviewed-by: Christoph Hellwig <hch@lst.de>

HAH this got all the way to v6, sorry I suck. :(

Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>

--D

> ---
> fs/xfs/xfs_trans_dquot.c | 7 -------
> 1 file changed, 7 deletions(-)
>
> diff --git a/fs/xfs/xfs_trans_dquot.c b/fs/xfs/xfs_trans_dquot.c
> index fe45b0c3970c..67f1e275b34d 100644
> --- a/fs/xfs/xfs_trans_dquot.c
> +++ b/fs/xfs/xfs_trans_dquot.c
> @@ -143,9 +143,6 @@ xfs_trans_mod_dquot_byino(
> xfs_is_quota_inode(&mp->m_sb, ip->i_ino))
> return;
>
> - if (tp->t_dqinfo == NULL)
> - xfs_trans_alloc_dqinfo(tp);
> -
> if (XFS_IS_UQUOTA_ON(mp) && ip->i_udquot)
> (void) xfs_trans_mod_dquot(tp, ip->i_udquot, field, delta);
> if (XFS_IS_GQUOTA_ON(mp) && ip->i_gdquot)
> @@ -698,7 +695,6 @@ xfs_trans_dqresv(
> * because we don't have the luxury of a transaction envelope then.
> */
> if (tp) {
> - ASSERT(tp->t_dqinfo);
> ASSERT(flags & XFS_QMOPT_RESBLK_MASK);
> if (nblks != 0)
> xfs_trans_mod_dquot(tp, dqp,
> @@ -752,9 +748,6 @@ xfs_trans_reserve_quota_bydquots(
> if (!XFS_IS_QUOTA_RUNNING(mp) || !XFS_IS_QUOTA_ON(mp))
> return 0;
>
> - if (tp && tp->t_dqinfo == NULL)
> - xfs_trans_alloc_dqinfo(tp);
> -
> ASSERT(flags & XFS_QMOPT_RESBLK_MASK);
>
> if (udqp) {
> --
> 2.20.0
>