Re: 2.6.33-rc1: kernel BUG at fs/ext4/inode.c:1063 (sparc)

From: tytso
Date: Thu Dec 24 2009 - 18:05:28 EST


On Fri, Dec 25, 2009 at 01:28:34AM +0300, Alexander Beregalov wrote:
>
> Kernel is 2.6.33-rc1-00366-g2f99f5c
> Ext4 mounts ext3 filesystem
>
> kernel BUG at fs/ext4/inode.c:1063!

OK, that's this BUG which is triggering:

if (mdb_free) {
/* Account for allocated meta_blocks */
mdb_claim = EXT4_I(inode)->i_allocated_meta_blocks;
BUG_ON(mdb_free < mdb_claim); <------- BUG triggered
mdb_free -= mdb_claim;

Can you replicate this? If so, I'd like to ask you to replicate with
the following debugging patch applied:

--- fs/ext4/inode.c 2009-12-24 17:55:03.736366001 -0500
+++ fs/ext4/inode.c.new 2009-12-24 18:02:58.556366024 -0500
@@ -1060,6 +1060,10 @@
if (mdb_free) {
/* Account for allocated meta_blocks */
mdb_claim = EXT4_I(inode)->i_allocated_meta_blocks;
+ if (mdb_free < mdb_claim)
+ ext4_msg(inode->i_sb, KERN_ERR, "inode #%lu: "
+ "mdb_free (%d) < mdb_claim (%d) BUG\n",
+ inode->i_ino, mdb_free, mdb_claim);
BUG_ON(mdb_free < mdb_claim);
mdb_free -= mdb_claim;

Then once you get the inode number (suppose it's 12345), please send
the output of the following debugfs commands:

debugfs: stat <12345>
debugfs: ncheck 12345

Thanks!!

- Ted
--
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/