Re: EXT4: kernel BUG at fs/ext4/mballoc.c:1721!
From: Andreas Dilger <hidden>
Date: 2009-09-04 12:52:27
On Sep 04, 2009 14:19 +0530, Aneesh Kumar wrote:
Ok i am running test with the below patch. It is more invasive in that it moves the need init flag check into load buddy. I guess we need to do that, otherwise we will be operating with stale buddy information when we have resize happening parallel. Also with the patch i posted before we still have issues as explained below a) we check for init flag we find it doesn't need an cache init b) we resize and mark the group in need for init c) in load buddy we look at the pageuptodate flag and find it uptodate and continue using the old buddy cache information.
Why not have the resize code do the update of the buddy bitmap also? When we were just using the block bitmap for allocation the resize code would clear the bits in the bitmap just like deleting a file, so that it was totally coherent with any other bitmap user. Having the resize code do the same with the buddy (instead of only marking it stale and leaving it for another process to refresh) should avoid the race condition entirely. Cheers, Andreas -- Andreas Dilger Sr. Staff Engineer, Lustre Group Sun Microsystems of Canada, Inc.