]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commite59532a1070ffa43fe1ab988633dfcdddf4fbf2d
tree42dc4e7dd16a33ba4c9b74cda41934e1fe27beb5
parent72808cc961deb90b0fdee0acbc6bd16dc6af845d
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