xfs
[Top] [All Lists]

Re: [PATCH] Re: [XFS] 2.6.29-rc2: XFS internal error XFS_WANT_CORRUPTED_

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>, Jacek Luczak <difrost.kernel@xxxxxxxxx>, Eric Sandeen <sandeen@xxxxxxxxxxx>, LKML <linux-kernel@xxxxxxxxxxxxxxx>, xfs mailing list <xfs@xxxxxxxxxxx>
Subject: Re: [PATCH] Re: [XFS] 2.6.29-rc2: XFS internal error XFS_WANT_CORRUPTED_GOTO
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Tue, 20 Jan 2009 18:22:43 -0500
In-reply-to: <20090120230306.GE10158@disturbed>
References: <497468C1.3000001@xxxxxxxxx> <4974CA20.6050308@xxxxxxxxxxx> <20090120004611.GA6445@disturbed> <20090120112910.GA6831@xxxxxxxxxxxxx> <4975B9C4.7030401@xxxxxxxxx> <20090120114906.GA12526@xxxxxxxxxxxxx> <20090120133521.GD10158@disturbed> <20090120230306.GE10158@disturbed>
User-agent: Mutt/1.5.18 (2008-05-17)
On Wed, Jan 21, 2009 at 10:03:06AM +1100, Dave Chinner wrote:
> [XFS] Long btree pointers are still 64 bit on disk
> 
> On 32 bit machines with CONFIG_LBD=n, XFS reduces the
> in memory size of xfs_fsblock_t to 32 bits so that it
> will fit within 32 bit addressing. However, the disk format
> for long btree pointers are still 64 bits in size.
> 
> The recent btree rewrite failed to take this into account
> when initialising new btree blocks, setting sibling pointers
> to NULL and checking if they are NULL. Hence checking whether
> a 64 bit NULL was the same as a 32 bit NULL was failingi
> resulting in NULL sibling pointers failing to be detected
> correctly. This showed up as WANT_CORRUPTED_GOTO shutdowns
> in xfs_btree_delrec.
> 
> Fix this by making all the comparisons and setting of long
> pointer btree NULL blocks to the disk format, not the
> in memory format. i.e. use NULLDFSBNO.

Thanks, this fixes the testcase for me.

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