Messages in this thread | | | Date | Tue, 20 Jan 2009 18:22:43 -0500 | From | Christoph Hellwig <> | Subject | Re: [PATCH] Re: [XFS] 2.6.29-rc2: XFS internal error XFS_WANT_CORRUPTED_GOTO |
| |
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.
| |