OCFS2 folks, any thoughts on this crash? On Tue, 2017-01-17 at 02:12 +0000, Ben Hutchings wrote: > On Mon, 2017-01-16 at 13:12 -0600, Russell Mosemann wrote: > [...] > > Jan 15 17:31:03 vhost032 kernel: ------------[ cut here ]------------ > > Jan 15 17:31:03 vhost032 kernel: kernel BUG at > > /build/linux-Wgpe2M/linux-4.8.11/fs/ocfs2/alloc.c:1514! > > This is: > > static int ocfs2_grow_tree(handle_t *handle, struct ocfs2_extent_tree *et, > int *final_depth, struct buffer_head **last_eb_bh, > struct ocfs2_alloc_context *meta_ac) > { > ... > BUG_ON(meta_ac == NULL); > > > [...] > > Jan 15 17:31:03 vhost032 kernel: Call Trace: > > Jan 15 17:31:03 vhost032 kernel: [<ffffffffc092aa75>] ? > > ocfs2_set_buffer_uptodate+0x35/0x4a0 [ocfs2] > > Jan 15 17:31:03 vhost032 kernel: [<ffffffff9e63ba27>] ? > > __find_get_block+0xa7/0x110 > > Jan 15 17:31:03 vhost032 kernel: [<ffffffffc08bf087>] ? > > ocfs2_split_and_insert+0x307/0x490 [ocfs2] > > Jan 15 17:31:03 vhost032 kernel: [<ffffffffc08c55ce>] ? > > ocfs2_split_extent+0x3ee/0x560 [ocfs2] > > Jan 15 17:31:03 vhost032 kernel: [<ffffffffc08c59b3>] ? > > ocfs2_change_extent_flag+0x273/0x450 [ocfs2] > > Jan 15 17:31:03 vhost032 kernel: [<ffffffffc08c5ca0>] ? > > ocfs2_mark_extent_written+0x110/0x1d0 [ocfs2] > > Jan 15 17:31:03 vhost032 kernel: [<ffffffffc08ca0ad>] ? > > ocfs2_dio_end_io_write+0x44d/0x600 [ocfs2] > > meta_ac is passed down from ocfs2_dio_end_io_write(), which allocates > it using ocfs2_lock_allocators()... but the latter only allocates it > conditionally. It seems like the condition is wrong somehow.
This still seems to be happening for this user with 4.9.13, looking at "git log -p v4.9.13..origin/master -- fs/ocfs2" I wonder if https://git.kernel.org/torvalds/c/3e10b793fc40dfdbe51762e0d084bd6f2c8acaaa might be relevant? The commit message mentions meta_ac not getting allocated and an extent split vs refcount split differentiation and we have ocfs2_split_extent in the trace. Slim reasoning I know, maybe someone who knows the code could make a better determination. As Ben said before the whole bug report can be found at https://bugs.de bian.org/841144 Ian.