Re: [PATCH 1/5] xfs: log stripe roundoff is a property of the log

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

 



On Thu, Jan 28, 2021 at 01:25:11PM -0800, Darrick J. Wong wrote:
> On Thu, Jan 28, 2021 at 03:41:50PM +1100, Dave Chinner wrote:
> > @@ -3404,12 +3395,11 @@ xfs_log_ticket_get(
> >   * Figure out the total log space unit (in bytes) that would be
> >   * required for a log ticket.
> >   */
> > -int
> > -xfs_log_calc_unit_res(
> > -	struct xfs_mount	*mp,
> > +static int
> > +xlog_calc_unit_res(
> > +	struct xlog		*log,
> >  	int			unit_bytes)
> >  {
> > -	struct xlog		*log = mp->m_log;
> >  	int			iclog_space;
> >  	uint			num_headers;
> >  
> > @@ -3485,18 +3475,20 @@ xfs_log_calc_unit_res(
> >  	/* for commit-rec LR header - note: padding will subsume the ophdr */
> >  	unit_bytes += log->l_iclog_hsize;
> >  
> > -	/* for roundoff padding for transaction data and one for commit record */
> > -	if (xfs_sb_version_haslogv2(&mp->m_sb) && mp->m_sb.sb_logsunit > 1) {
> > -		/* log su roundoff */
> > -		unit_bytes += 2 * mp->m_sb.sb_logsunit;
> > -	} else {
> > -		/* BB roundoff */
> > -		unit_bytes += 2 * BBSIZE;
> > -        }
> > +	/* roundoff padding for transaction data and one for commit record */
> > +	unit_bytes += log->l_iclog_roundoff;
> 
> I don't understand why the "2 *" disappears here.  It's not a part of
> the roundoff computation when we allocate the log, so AFAICT it's not
> just buried elsewhere?
> 
> Was the old code saying that it added the roundoff factor twice because
> we needed to do so once for the transaction data and the second time for
> the commit record?

Just  a bug. I originally copying this entire chunk into the log
init code (hence the comment), then I found another place it could
be used but it didn't need the "* 2" value. SO i changed the init
site, forgetting to put it back here.

Will fix and resend.

-Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx



[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