On Mon, Oct 12, 2015 at 11:19:19AM +0900, Daeho Jeong wrote: > If a EXT4 filesystem utilizes JBD2 journaling and an error occurs, the > journaling will be aborted first and the error number will be recorded > into JBD2 superblock and, finally, the system will enter into the > panic state in "errors=panic" option. But, in the rare case, this > sequence is little twisted like the below figure and it will happen > that the system enters into panic state, which means the system reset > in mobile environment, before completion of recording an error in the > journal superblock. In this case, e2fsck cannot recognize that the > filesystem failure occurred in the previous run and the corruption > wouldn't be fixed. > > Task A Task B > ext4_handle_error() > -> jbd2_journal_abort() > -> __journal_abort_soft() > -> __jbd2_journal_abort_hard() > | -> journal->j_flags |= JBD2_ABORT; > | > | __ext4_abort() > | -> jbd2_journal_abort() > | | -> __journal_abort_soft() > | | -> if (journal->j_flags & JBD2_ABORT) > | | return; > | -> panic() > | > -> jbd2_journal_update_sb_errno() > > Tested-by: Hobin Woo <hobin.woo@xxxxxxxxxxx> > Signed-off-by: Daeho Jeong <daeho.jeong@xxxxxxxxxxx> > Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Applied, thanks. - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html