[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120304202708.GA9087@thunk.org>
Date: Sun, 4 Mar 2012 15:27:08 -0500
From: Ted Ts'o <tytso@....edu>
To: merll@....de
Cc: linux-ext4@...r.kernel.org, bugzilla-daemon@...zilla.kernel.org
Subject: Re: [Bug 42859] New: kernel BUG at fs/ext4/extents.c:1953
On Sun, Mar 04, 2012 at 02:39:09PM +0000, bugzilla-daemon@...zilla.kernel.org wrote:
>
> Messages "kernel BUG at fs/ext4/extents.c:1953" occur, which seem to be
> triggered when running certain processes (reproducible with init and gdm). The
> volume can be mounted without any apparent problems and e2fsck does not report
> any errors. Nevertheless, the file system may have been corrupted during an
> earlier system crash.
Would you be willing to apply the following patch, and then see which
inode number gets reported (and whether it is always the same inode
number or one that varies) and then report back the results of running
the following debugfs commands?
(assuming the inode number is 12345)
debugfs /dev/sdX
debugfs: stat <12345>
degbufs: ex <12345>
Thanks!!
- Ted
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index 74f23c2..0393542 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -1949,7 +1949,13 @@ ext4_ext_put_in_cache(struct inode *inode, ext4_lblk_t block,
__u32 len, ext4_fsblk_t start)
{
struct ext4_ext_cache *cex;
- BUG_ON(len == 0);
+ if (unlikely(len == 0)) {
+ ext4_msg(inode->i_sb, KERN_CRIT,
+ "ext4_put_in_cache has len == 0: "
+ "ino %u, lblk %lu, pblk %llu", inode->i_ino,
+ block, start);
+ BUG_ON(1);
+ }
spin_lock(&EXT4_I(inode)->i_block_reservation_lock);
trace_ext4_ext_put_in_cache(inode, block, len, start);
cex = &EXT4_I(inode)->i_cached_extent;
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists