mirror of https://github.com/vitalif/e2fsprogs
e2fsck: don't abort if the journal is corrupted due to checksum errors
If e2fsck_run_ext3_journal() returns an error indicating that a CRC error was detected, we shouldn't abort, but instead proceed so the file system can be fixed. Signed-off-by: Theodore Ts'o <tytso@mit.edu>debian
parent
24b8916a62
commit
27ce779d8c
|
@ -53,6 +53,7 @@ extern int optind;
|
|||
#include "support/plausible.h"
|
||||
#include "e2fsck.h"
|
||||
#include "problem.h"
|
||||
#include "jfs_user.h"
|
||||
#include "../version.h"
|
||||
|
||||
/* Command line options */
|
||||
|
@ -1645,7 +1646,7 @@ failure:
|
|||
retval = e2fsck_check_ext3_journal(ctx);
|
||||
if (retval) {
|
||||
com_err(ctx->program_name, retval,
|
||||
_("while checking ext3 journal for %s"),
|
||||
_("while checking journal for %s"),
|
||||
ctx->device_name);
|
||||
fatal_error(ctx, 0);
|
||||
}
|
||||
|
@ -1677,9 +1678,10 @@ failure:
|
|||
retval = e2fsck_run_ext3_journal(ctx);
|
||||
if (retval) {
|
||||
com_err(ctx->program_name, retval,
|
||||
_("while recovering ext3 journal of %s"),
|
||||
_("while recovering journal of %s"),
|
||||
ctx->device_name);
|
||||
fatal_error(ctx, 0);
|
||||
if ((retval != EFSBADCRC) && (retval != EFSCORRUPTED))
|
||||
fatal_error(ctx, 0);
|
||||
}
|
||||
ext2fs_close_free(&ctx->fs);
|
||||
ctx->flags |= E2F_FLAG_RESTARTED;
|
||||
|
|
Loading…
Reference in New Issue