How should e2fsck clear s_errno/j_errno on an ro mount?

From
Eric Sandeen <hidden>
Date
2012-07-20 23:13:52
I'm looking at a situation where a root filesystem encountered an error and shut down, and therefore the error was stored in the journal.

But for the root fs, it seems that nothing can clear it.

If we do e2fsck -fy on a readonly mounted filesystem, then remount,rw the error persists:

[25124.319387] EXT4-fs warning (device loop3): ext4_clear_journal_err:4281: Filesystem error recorded from previous mount: IO failure
[25124.331140] EXT4-fs warning (device loop3): ext4_clear_journal_err:4282: Marking fs in need of filesystem check.

ad infinitum.

It may be my fever-addled brain this week but I'm having a hard time following how this error is supposed to get set & cleared, especially if e2fsck has modified it while mounted ro.

As soon as I mount rw again, load_superblock() sees the journal superblock has an error set, and copies it back into the journal->j_errno.

After Ted's "e2fsck: correctly propagate error from journal to superblock" in e2fsprogs, at least an unmounted fs gets cleaned up, but I'm not sure what to do to fix this when it's mounted.  

Am I missing something obvious?

Thanks,
-Eric
Thread (9 messages) 9 messages, 2 authors, last reply 2012-07-29
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help