summaryrefslogtreecommitdiff
path: root/e2fsck/problem.h
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2014-09-11 12:44:49 -0700
committerTheodore Ts'o <tytso@mit.edu>2014-09-11 18:08:26 -0400
commitc6c681632e45df376360303a00539b2a86ed7400 (patch)
treee3cd0842f152ee415e140984a29e69114f05328e /e2fsck/problem.h
parent3f4c4079976f1ccf0a6d675b0115b519f596da89 (diff)
downloade2fsprogs-c6c681632e45df376360303a00539b2a86ed7400.tar.gz
e2fsck: ignore badblocks if it says badblocks inode is bad
If the badblocks list says that the badblocks inode is bad, it's quite likely that badblocks is broken. Worse yet, if the root inode is in the same block as the badblocks inode (likely since they're adjacent), the filesystem becomes unfixable because pass3 notices the bad root inode and exits. So... if we encounter this case, just kill the badblocks inode. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'e2fsck/problem.h')
-rw-r--r--e2fsck/problem.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/e2fsck/problem.h b/e2fsck/problem.h
index f86c531d..5b32aeb4 100644
--- a/e2fsck/problem.h
+++ b/e2fsck/problem.h
@@ -632,6 +632,9 @@ struct problem_context {
/* inlinedata/extent set, clear inode */
#define PR_1_CLEAR_EXTENT_INLINE_DATA_INODE 0x01007A
+/* badblocks is in badblocks */
+#define PR_1_BADBLOCKS_IN_BADBLOCKS 0x01007B
+
/*
* Pass 1b errors
*/