xfs
[Top] [All Lists]

[PATCH] xfs: remove incorrect log write optimization

To: xfs@xxxxxxxxxxx
Subject: [PATCH] xfs: remove incorrect log write optimization
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Mon, 28 Jun 2010 10:34:34 -0400
User-agent: Mutt/1.5.20 (2009-08-17)
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@xxxxxx>

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

<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH] xfs: remove incorrect log write optimization, Christoph Hellwig <=