Re: [ 16/32] ext4: make sure the journal sb is written inext4_clear_journal_err()
From: Ben Hutchings
Date: Thu Sep 06 2012 - 22:55:12 EST
On Sun, 2012-08-19 at 20:57 -0700, Greg Kroah-Hartman wrote:
> From: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
>
> 3.4-stable review patch. If anyone has any objections, please let me know.
>
> ------------------
>
> From: Theodore Ts'o <tytso@xxxxxxx>
>
> commit d796c52ef0b71a988364f6109aeb63d79c5b116b 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.
[...]
Is this needed for 3.2? It looked like it depended on
24bcc89c7e7c64982e6192b4952a0a92379fc341 which is strictly too big a
change for a stable series. But perhaps there's a way to avoid that
dependency.
Ben.
--
Ben Hutchings
Usenet is essentially a HUGE group of people passing notes in class.
- Rachel Kadel, `A Quick Guide to Newsgroup Etiquette'
Attachment:
signature.asc
Description: This is a digitally signed message part