diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c index 0e42d265e9482f54757e7cc0b0a5770dd201e6f1..4ddc44891940d36941897175414aee8b9fc76f3a 100644 --- a/fs/jbd2/journal.c +++ b/fs/jbd2/journal.c @@ -1716,6 +1716,11 @@ int jbd2_journal_load(journal_t *journal) journal->j_devname); return -EFSCORRUPTED; } + /* + * clear JBD2_ABORT flag initialized in journal_init_common + * here to update log tail information with the newest seq. + */ + journal->j_flags &= ~JBD2_ABORT; /* OK, we've finished with the dynamic journal bits: * reinitialise the dynamic contents of the superblock in memory @@ -1723,7 +1728,6 @@ int jbd2_journal_load(journal_t *journal) if (journal_reset(journal)) goto recovery_error; - journal->j_flags &= ~JBD2_ABORT; journal->j_flags |= JBD2_LOADED; return 0;