From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id F13537F53 for ; Fri, 30 Aug 2013 13:38:34 -0500 (CDT) Date: Fri, 30 Aug 2013 13:38:34 -0500 From: Ben Myers Subject: Re: [PATCH] xfs: don't account buffer cancellation during log recovery readahead Message-ID: <20130830183834.GE1935@sgi.com> References: <1377555053-23000-1-git-send-email-david@fromorbit.com> <20130829151324.GB5262@sgi.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20130829151324.GB5262@sgi.com> List-Id: XFS Filesystem from SGI List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: xfs-bounces@oss.sgi.com Sender: xfs-bounces@oss.sgi.com To: Dave Chinner Cc: xfs@oss.sgi.com On Thu, Aug 29, 2013 at 10:13:24AM -0500, Ben Myers wrote: > On Tue, Aug 27, 2013 at 08:10:53AM +1000, Dave Chinner wrote: > > From: Dave Chinner > > > > When doing readhaead in log recovery, we check to see if buffers are > > cancelled before doing readahead. If we find a cancelled buffer, > > however, we always decrement the reference count we have on it, and > > that means that readahead is causing a double decrement of the > > cancelled buffer reference count. > > > > This results in log recovery *replaying cancelled buffers* as the > > actual recovery pass does not find the cancelled buffer entry in the > > commit phase of the second pass across a transaction. On debug > > kernels, this results in an ASSERT failure like so: > > > > XFS: Assertion failed: !(flags & XFS_BLF_CANCEL), file: fs/xfs/xfs_log_recover.c, line: 1815 > > > > xfstests generic/311 reproduces this ASSERT failure with 100% > > reproducability. > > > > Fix it by making readahead only peek at the buffer cancelled state > > rather than the full accounting that xlog_check_buffer_cancelled() > > does. > > > > Signed-off-by: Dave Chinner > > Nice work Dave! > Reviewed-by: Ben Myers Applied this one. _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs