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