Re: 2.6.15-mm3 bisection: git-xfs.patch makes reiserfs oops

From: Nathan Scott
Date: Sun Jan 15 2006 - 17:47:25 EST


On Sun, Jan 15, 2006 at 11:14:58PM +0100, Mattia Dongili wrote:
> [CC-in relevant people/ML]
>
> Hello!
>
> second bisection result!
>
> On Tue, Jan 10, 2006 at 05:00:37PM -0800, Andrew Morton wrote:
> > Mattia Dongili <malattia@xxxxxxxx> wrote:
> [...]
> > > 1- reiser3 oopsed[1] twice while suspending to ram. It seems
> > > reproducible (have some activity on the fs and suspend)
> >
> > No significant reiser3 changes in there, so I'd be suspecting something
> > else has gone haywire.
>
> you're right: git-xfs.patch is the bad guy.
>
> Unfortunately netconsole isn't helpful in capturing the oops (no serial
> ports here) but I have two more shots (more readable):
> http://oioio.altervista.org/linux/dsc03148.jpg
> http://oioio.altervista.org/linux/dsc03149.jpg

Hmm, thats odd. It seems to be coming from:
reiserfs_commit_page -> reiserfs_add_ordered_list -> __add_jh(inline)

I guess XFS may have left a buffer_head in an unusual state (with some
private flag/b_private set), somehow, and perhaps that buffer_head has
later been allocated for a page in a reiserfs write. Does this patch,
below, help at all?

I see one BUG check in __add_jh for non-NULL b_private, but can't see
the top of your console output from the photos - is there a preceding
line with "kernel BUG at ..." in it?

cheers.

--
Nathan


--- fs/buffer.c.orig 2006-01-16 10:15:01.332010750 +1100
+++ fs/buffer.c 2006-01-16 10:18:15.276131500 +1100
@@ -1027,7 +1027,7 @@ try_again:
/* Link the buffer to its page */
set_bh_page(bh, page, offset);

- bh->b_end_io = NULL;
+ init_buffer(bh, NULL, NULL);
}
return head;
/*
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/