mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-11-23 18:14:25 +08:00
e2fsck: make sure the extent tree is consistent after bogus node in the tree
Commit789bd401c3
("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. Commit789bd401c3
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@mit.edu>
This commit is contained in:
parent
eacf6a0878
commit
29e8e74e02
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user