On 12/20/12 5:43 PM, Theodore Ts'o wrote: > Commit 789bd401c3 ("e2fsck: fix incorrect interior node logical start > values") surfaced a bug where if e2fsck finds and removed an invalid > node in the extent tree, i.e.: > > Inode 12 has an invalid extent node (blk 22, lblk 0) > Clear? yes > > It was possible for starting logical blocks found in the interior > nodes of the extent tree. Commit 789bd401c3 added the ability for > e2fsck to discover this problem, which resulted in the test > f_extent_bad_node to fail when the second pass of e2fsck reported the > following complaint: > > Interior extent node level 0 of inode 12: > Logical start 0 does not match logical start 3 at next level. Fix? yes > > This patch fixes this by adding a call to ext2fs_extent_fix_parents() > after deleting the bogus node in the extent tree. > > Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Thanks Ted, sorry I didn't catch this. And this gives me hope that maybe the extent tree corruption report I had received might be due to an e2fsck, not kernel runtime... -Eric > --- > e2fsck/pass1.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c > index 2acbb53..a8231f4 100644 > --- a/e2fsck/pass1.c > +++ b/e2fsck/pass1.c > @@ -1809,6 +1809,7 @@ report_problem: > pctx->str = "ext2fs_extent_delete"; > return; > } > + ext2fs_extent_fix_parents(ehandle); > pctx->errcode = ext2fs_extent_get(ehandle, > EXT2_EXTENT_CURRENT, > &extent); > -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html