[Top] [All Lists]

Re: XFS: Assertion failed: bp->b_bn != XFS_BUF_DADDR_NULL, file: fs/xfs/

To: Rafa?? Kupka <kupson@xxxxxxxxxx>
Subject: Re: XFS: Assertion failed: bp->b_bn != XFS_BUF_DADDR_NULL, file: fs/xfs/xfs_buf.c, line: 598
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Sat, 3 Mar 2012 06:44:13 -0500
Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
In-reply-to: <1330774627.32457.24.camel@xxxxxxxxxxxxxxxx>
References: <1330539626.7615.73.camel@xxxxxxxxxxxxxxxx> <20120302104348.GA22230@xxxxxxxxxxxxx> <1330774627.32457.24.camel@xxxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Sat, Mar 03, 2012 at 12:37:07PM +0100, Rafa?? Kupka wrote:
> On Fri, 2012-03-02 at 05:43 -0500, Christoph Hellwig wrote:
> Hello,
> > From the trace this looks like we got incorrect results from xfs_imap,
> > which got some fairly significant changes between the two kernels
> > you tested.  Can you check if 2.6.36 shows this issue?  It's the first
> > kernel that had these big changes in inode lookup.
> I've tested more kernels and here are results (linus git tree, no
> additional patches):
> - v2.6.36 -- good
> - v2.6.38 -- good
> - v2.6.39 -- bad, I/O error log entry and locked processes:

> - git revision 243b422af9ea9af4ead07a8ad54c90d4f9b6081a -- good
> It's one patch before "xfs: preallocation transactions do not need to be 
> synchronous"
> - git revision c5850150d0b9ae16840c5d9846f9d5a759996a15:
>     Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
>     * 'for-linus' of git://oss.sgi.com/xfs/xfs:
>       xfs: stop using the page cache to back the buffer cache
>       xfs: register the inode cache shrinker before quotachecks
>       xfs: xfs_trans_read_buf() should return an error on failure

This is the only patch in that area.  Give me a bit more time to
figure out how it could related to your issues.

> Hung xfsdump (only?) without any additional log entries
> (CONFIG_XFS_DEBUG is set):

> I don't know if it's the same bug - there is no assertion nor I/O error
> log entry...

It's the same code path at least..

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