summaryrefslogtreecommitdiff
path: root/e2fsck/problem.h
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2014-08-02 22:46:16 -0400
committerTheodore Ts'o <tytso@mit.edu>2014-08-02 22:46:16 -0400
commit68d70624e34b90fd153964950b7a2917b5bb3a8c (patch)
tree27473c9baf1c668ab64cecf69f8d96cf1ed56850 /e2fsck/problem.h
parent7f43a46fad362435f8420f656c6157dc8be8dd4d (diff)
downloade2fsprogs-68d70624e34b90fd153964950b7a2917b5bb3a8c.tar.gz
e2fsck: offer to clear inode table blocks that are insane
Add a new behavior flag to the inode scan functions; when specified, this flag will do some simple sanity checking of entire inode table blocks. If all the checksums are ok, we can skip checksum verification on individual inodes later on. If more than half of the inodes look "insane" (bad extent tree root or checksum failure) then ext2fs_get_next_inode_full() can return a special status code indicating that what's in the buffer is probably garbage. When e2fsck' inode scan encounters the 'inode is garbage' return code it'll offer to zap the inode straightaway instead of trying to recover anything. This replaces the previous behavior of asking to zap anything with a checksum error (strict_csum). Signed-off-by: Darrick J. Wong <darrick.wong@orale.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'e2fsck/problem.h')
-rw-r--r--e2fsck/problem.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/e2fsck/problem.h b/e2fsck/problem.h
index 4813fc60..72cfc4d5 100644
--- a/e2fsck/problem.h
+++ b/e2fsck/problem.h
@@ -571,8 +571,8 @@ struct problem_context {
/* Extent has zero length */
#define PR_1_EXTENT_LENGTH_ZERO 0x010066
-/* inode checksum does not match inode */
-#define PR_1_INODE_CSUM_INVALID 0x010067
+/* inode seems to contain garbage */
+#define PR_1_INODE_IS_GARBAGE 0x010067
/* inode passes checks, but checksum does not match inode */
#define PR_1_INODE_ONLY_CSUM_INVALID 0x010068