Re: [PATCH 4/4] xfs: clean up icreate quota reservation calls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jan 25, 2021 at 10:17:22AM -0500, Brian Foster wrote:
> On Sat, Jan 23, 2021 at 10:51:57AM -0800, Darrick J. Wong wrote:
> > From: Darrick J. Wong <djwong@xxxxxxxxxx>
> > 
> > Create a proper helper so that inode creation calls can reserve quota
> > with a dedicated function.
> > 
> > Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx>
> > Reviewed-by: Christoph Hellwig <hch@xxxxxx>
> > ---
> >  fs/xfs/xfs_inode.c       |    8 ++++----
> >  fs/xfs/xfs_quota.h       |   15 +++++++++++----
> >  fs/xfs/xfs_symlink.c     |    4 ++--
> >  fs/xfs/xfs_trans_dquot.c |   21 +++++++++++++++++++++
> >  4 files changed, 38 insertions(+), 10 deletions(-)
> > 
> > 
> ...
> > diff --git a/fs/xfs/xfs_trans_dquot.c b/fs/xfs/xfs_trans_dquot.c
> > index 28b8ac701919..3315498a6fa1 100644
> > --- a/fs/xfs/xfs_trans_dquot.c
> > +++ b/fs/xfs/xfs_trans_dquot.c
> > @@ -804,6 +804,27 @@ xfs_trans_reserve_quota_nblks(
> >  						nblks, ninos, flags);
> >  }
> >  
> > +/* Change the quota reservations for an inode creation activity. */
> > +int
> > +xfs_trans_reserve_quota_icreate(
> > +	struct xfs_trans	*tp,
> > +	struct xfs_inode	*dp,
> > +	struct xfs_dquot	*udqp,
> > +	struct xfs_dquot	*gdqp,
> > +	struct xfs_dquot	*pdqp,
> > +	int64_t			nblks)
> > +{
> > +	struct xfs_mount	*mp = dp->i_mount;
> > +
> > +	if (!XFS_IS_QUOTA_RUNNING(mp) || !XFS_IS_QUOTA_ON(mp))
> > +		return 0;
> > +
> > +	ASSERT(!xfs_is_quota_inode(&mp->m_sb, dp->i_ino));
> > +
> > +	return xfs_trans_reserve_quota_bydquots(tp, dp->i_mount, udqp, gdqp,
> > +			pdqp, nblks, 1, XFS_QMOPT_RES_REGBLKS);
> 
> Considering we can get mp from tp (and it looks like we always pass tp),
> is it worth even passing in dp for an (unlikely) assert? That seems a
> little odd anyways since nothing down in this path actually uses or
> cares about the parent inode. Also, no need to pass dp->i_mount above if
> we've already defined mp, at least.

You're correct, we can drop the *dp parameter entirely.

--D

> Brian
> 
> > +}
> > +
> >  /*
> >   * This routine is called to allocate a quotaoff log item.
> >   */
> > 
> 



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux