Re: btrfs GPF in read_extent_buffer() while scrubbing with kernel 3.4.2
From: Chris Mason <hidden>
Date: 2012-07-06 11:50:23
On Fri, Jul 06, 2012 at 04:42:50AM -0600, Jan Schmidt wrote:
... down here in the stack. The warning is printed from two levels above, __readahead_hook. Either I'm absolutely blind and there's code along the (rather short) road between those two that might do this I haven't seen. Or someone else messes with our extent buffers or the underlying pages. What really confuses me is that it happens so reproducibly. I've no good idea at the moment how to go on. It might help to get a feeling if it's shifting around at least a little bit or really constant in the timing of occurrence. So can you please apply the next patch on top of the other two and give it some more failure tries? The "checksum mismatch [1234]" line will be of most interest. I'm also curious what the additional debug variables will say in the extended version of the very first printk. You can leave out the stack traces if you like, they won't matter much anyway.
I would suggest turning on slab debug and CONFIG_DEBUG_PAGEALLOC. Something really strange is happening here. -chris