Re: [PATCH 02/12] xfs: Remove the macro XFS_BUF_ZEROFLAGS

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

 



HI Christoph,

Some clarifications sought....

On Fri, 2011-07-15 at 21:59 -0400, Christoph Hellwig wrote:
> > --- a/fs/xfs/xfs_log.c
> > +++ b/fs/xfs/xfs_log.c
> > @@ -1367,7 +1367,7 @@ xlog_sync(xlog_t		*log,
> >  	}
> >  	XFS_BUF_SET_COUNT(bp, count);
> >  	XFS_BUF_SET_FSPRIVATE(bp, iclog);	/* save for later */
> > -	XFS_BUF_ZEROFLAGS(bp);
> > +	bp->b_flags &= ~(XBF_READ|XBF_WRITE|XBF_ASYNC|XBF_DELWRI|XBF_ORDERED);
> >  	XFS_BUF_BUSY(bp);
> >  	XFS_BUF_ASYNC(bp);
> >  	bp->b_flags |= XBF_LOG_BUFFER;
> 
> Note that XBF_ORDERED is gone in the current tree, you need to rebase
> your patches to pick up the buffer changes I recently sent out.
> 
> I don't link this blind expansion.  For one all that flag setting is
> duplicated in two places in xlog_sync, please send a patch to
> consolidate it in xlog_bdstrat.  Second XBF_READ and XBF_DELWRI

The two places are using 2 different bps, how do you want it to be
consolidated in xlog_bdstrat() ?

> won't ever be set here, so no need to clear them.  And XBF_WRITE
> and XBF_ASYNC will get re-set a few lines down the code, so no need
> to clear them either.  The XBF_FLUSH and XBF_FUA flag also get set
> conditionally a little below, so I'd just clear them in an else
> clause for the if condition checking if they should be set.

It looks cleaner if I just have those flags cleared above, instead of
conditionally clearing them, what do you think ?

> 
> > diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c
> > index 04142ca..75ba081 100644
> > --- a/fs/xfs/xfs_log_recover.c
> > +++ b/fs/xfs/xfs_log_recover.c
> > @@ -261,7 +261,7 @@ xlog_bwrite(
> >  	ASSERT(BBTOB(nbblks) <= XFS_BUF_SIZE(bp));
> >  
> >  	XFS_BUF_SET_ADDR(bp, log->l_logBBstart + blk_no);
> > -	XFS_BUF_ZEROFLAGS(bp);
> > +	bp->b_flags &= ~(XBF_READ|XBF_WRITE|XBF_ASYNC|XBF_DELWRI|XBF_ORDERED);
> >  	XFS_BUF_BUSY(bp);
> >  	XFS_BUF_HOLD(bp);
> >  	XFS_BUF_PSEMA(bp, PRIBIO);
> 
> XBF_READ, XBF_WRITE, XBF_ASYNC and XBF_DELWRI already get dealt with
> in xfs_bwrite a few lines down, and XBF_ORDERED can't be set here. IOW
> this line can simply be removed.

New definition of XFS_BUF_ZEROFLAGS has these: XBF_SYNCIO, XBF_FUA, and
XBF_FLUSH. In this context is it ok to not clear those ?

> 


_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs


[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux