android_kernel_google_msm/fs/jbd2
Theodore Ts'o 8b9f386167 ext4: make sure the journal sb is written in ext4_clear_journal_err()
commit d796c52ef0 upstream.

After we transfer set the EXT4_ERROR_FS bit in the file system
superblock, it's not enough to call jbd2_journal_clear_err() to clear
the error indication from journal superblock --- we need to call
jbd2_journal_update_sb_errno() as well.  Otherwise, when the root file
system is mounted read-only, the journal is replayed, and the error
indicator is transferred to the superblock --- but the s_errno field
in the jbd2 superblock is left set (since although we cleared it in
memory, we never flushed it out to disk).

This can end up confusing e2fsck.  We should make e2fsck more robust
in this case, but the kernel shouldn't be leaving things in this
confused state, either.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-08-26 15:00:42 -07:00
..
checkpoint.c jbd2: remove bh_state lock from checkpointing code 2012-03-13 22:45:25 -04:00
commit.c jbd2: use GFP_NOFS for blkdev_issue_flush 2012-04-23 21:43:41 -04:00
journal.c ext4: make sure the journal sb is written in ext4_clear_journal_err() 2012-08-26 15:00:42 -07:00
Kconfig Revert "task_struct: make journal_info conditional" 2009-12-17 13:23:24 -08:00
Makefile
recovery.c jbd2: issue cache flush after checkpointing even with internal journal 2012-03-13 22:22:54 -04:00
revoke.c jbd2: use KMEM_CACHE instead of kmem_cache_create() 2012-02-20 17:53:03 -05:00
transaction.c Ext4 commits for 3.3 merge window; mostly cleanups and bug fixes 2012-03-28 10:02:55 -07:00