Re: [RESEND][PATCH] dir_index: error out instead of BUG on corrupthash dir limit

From: Eric Sandeen
Date: Mon Sep 10 2007 - 10:59:48 EST


Duane Griffin wrote:
> Hi Eric,
>
> On Fri, Aug 31, 2007 at 09:48:43PM -0500, Eric Sandeen wrote:
>> (resend, this one got lost? Got an acked-by from Andreas
>> last go-round)
>
> Sorry I missed this first time around. I came up with a very similar
> fix recently, following a gentoo bug report. However there are a few
> more asserts later that you aren't currently handling. Below is an
> incremental patch on top of yours that converts them too.

Ah, good point... I focused a bit too much on the single problem at hand
didn't I. :)

> Note that one
> of them is in an if (0) block and maybe should be left alone -- what do
> you think?

If it's just there for debug, maybe leaving an assert is ok, to get a
dump & system state etc. If it is converted, a printk would probably be
good so you know you're falling back, otherwise that extra checking is a
bit pointless if it's silent.

> I tested all the changed code paths, except the if (0) one, using a
> utility that appropriately corrupts ext3 images.
> The source code is
> attached to the gentoo bug report here:
>
> http://bugs.gentoo.org/show_bug.cgi?id=183207
>
> Signed-off-by: Duane Griffin <duaneg@xxxxxxxxx>

Looks good, thanks for not ignoring the other asserts. ;-) I wonder if
we should fix up all the new error condition printk's a bit to be more
descriptive of the problem at hand; for example, the one I sent should
maybe say:

+ ext3_warning(dir->i_sb, __FUNCTION__,
+ "Corrupt root limit in dir inode %ld\n", dir->i_ino);

I wanted to leave the word "corrupt" in there, or at least something to
clue in the user that maybe fsck is in order...

Thanks,
-Eric
-
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/