xfs
[Top] [All Lists]

Re: [PATCH] xfs: remove incorrect log write optimization

To: xfs@xxxxxxxxxxx
Subject: Re: [PATCH] xfs: remove incorrect log write optimization
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Fri, 9 Jul 2010 12:13:24 -0400
In-reply-to: <20100628143434.GA5473@xxxxxxxxxxxxx>
References: <20100628143434.GA5473@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.20 (2009-08-17)
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@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);
> 
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs
---end quoted text---

<Prev in Thread] Current Thread [Next in Thread>