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

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

 



> --- 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
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.

> 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.

_______________________________________________
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