diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2014-09-11 12:44:49 -0700 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2014-09-11 18:08:26 -0400 |
commit | c6c681632e45df376360303a00539b2a86ed7400 (patch) | |
tree | e3cd0842f152ee415e140984a29e69114f05328e /e2fsck/problem.h | |
parent | 3f4c4079976f1ccf0a6d675b0115b519f596da89 (diff) | |
download | e2fsprogs-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.h | 3 |
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 */ |