ext4: add checks for errors from jbd2
authorHidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
Sat, 11 Oct 2008 00:29:21 +0000 (20:29 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 11 Oct 2008 00:29:21 +0000 (20:29 -0400)
commit7ffe1ea8949c75ecffb7a4d988bb881a9fa62fbe
tree42dc4e7dd16a33ba4c9b74cda41934e1fe27beb5
parent44519faf22ad6ce924ad0352d3dc200d9e0b66e8
ext4: add checks for errors from jbd2

If the journal has aborted due to a checkpointing failure, we
have to keep the contents of the journal space.  Otherwise, the
filesystem will lose uncheckpointed metadata completely and
become inconsistent.  To avoid this, we need to keep needs_recovery
flag if checkpoint has failed.

With this patch, ext4_put_super() detects a checkpointing failure
from the return value of journal_destroy(), then it invokes
ext4_abort() to make the filesystem read only and keep
needs_recovery flag.  Errors from jbd2_journal_flush() are also
handled by this patch in some places.

Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/ioctl.c
fs/ext4/super.c