[PATCH] xfs: remove incorrect log write optimization
Christoph Hellwig
hch at infradead.org
Fri Jul 9 11:13:24 CDT 2010
ping?
On Mon, Jun 28, 2010 at 10:34:34AM -0400, Christoph Hellwig wrote:
> We do need a barrier for the first buffer of a split log write. Otherwise
> we might incorrectly stamp the tail LSN into transactions in the first
> block, or not flush data I/O before updating the inode size.
>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
>
> Index: xfs-dev/fs/xfs/xfs_log.c
> ===================================================================
> --- xfs-dev.orig/fs/xfs/xfs_log.c 2010-06-28 11:51:30.423004228 +0200
> +++ xfs-dev/fs/xfs/xfs_log.c 2010-06-28 11:52:52.559255519 +0200
> @@ -1423,11 +1423,8 @@ xlog_sync(xlog_t *log,
> XFS_BUF_BUSY(bp);
> XFS_BUF_ASYNC(bp);
> bp->b_flags |= XBF_LOG_BUFFER;
> - /*
> - * Do an ordered write for the log block.
> - * Its unnecessary to flush the first split block in the log wrap case.
> - */
> - if (!split && (log->l_mp->m_flags & XFS_MOUNT_BARRIER))
> +
> + if (log->l_mp->m_flags & XFS_MOUNT_BARRIER)
> XFS_BUF_ORDERED(bp);
>
> ASSERT(XFS_BUF_ADDR(bp) <= log->l_logBBsize-1);
>
> _______________________________________________
> xfs mailing list
> xfs at oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
---end quoted text---
More information about the xfs
mailing list