]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commit
e2fsck: try to salvage extent blocks with bad checksums
authorDarrick J. Wong <darrick.wong@oracle.com>
Sun, 3 Aug 2014 02:32:11 +0000 (22:32 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 3 Aug 2014 02:32:11 +0000 (22:32 -0400)
commit49fed79e7c23783832df3bb137d2db4607fa98a7
tree13b2206d9919449faf0037baa355bae98c6af10c
parent5b9cbd76df1e96f927acee0910456319b1a99d53
e2fsck: try to salvage extent blocks with bad checksums

Remove the code that would zap an extent block immediately if the
checksum failed (i.e. strict_csums).  Instead, we'll only do that if
the extent block header shows obvious structural problems; if the
header checks out, then we'll iterate the block and see if we can
recover some extents.

Requires a minor modification to ext2fs_extent_get such that the
extent block will be returned in the buffer even if the return code
indicates a checksum error.  This brings its behavior in line with
the rest of libext2fs.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
e2fsck/pass1.c
e2fsck/problem.c
e2fsck/problem.h
lib/ext2fs/extent.c