Reviving the thread "kernel BUG at fs/gfs2/inode.h:64" from January [1]...
We finally hit the assertion in gfs2_add_inode_blocks() after it has been fixed. Debug logging showed that in sweep_bh_for_rgrps(): blen = 1 isize_blks = 0 which is then used as follows: __gfs2_free_blocks(ip, bstart, (u32)blen, meta); (*btotal) += blen; gfs2_add_inode_blocks(&ip->i_inode, -blen); This confirms Tim's suspicion that i_blocks is already 0 at the point we're trying to free a block. Any ideas on how this situation may have occurred? The test case power-cycles hosts so perhaps this is some form of corruption that would be fixed by Bob's recovery patch series? [1] https://www.redhat.com/archives/cluster-devel/2019-January/msg00007.html Thanks, -- Ross Lagerwall
