aboutsummaryrefslogtreecommitdiffstats
path: root/fs/jbd/checkpoint.c
diff options
context:
space:
mode:
authorHidehiro Kawai <hidehiro.kawai.ez@hitachi.com>2008-10-22 14:15:01 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-10-23 08:55:01 -0700
commit2d7c820e56ce83b23daee9eb5343730fb309418e (patch)
treea64db3f90c8826a03c591be492faaf64ab7bf14a /fs/jbd/checkpoint.c
parent4afe978530702c934dfdb11f54073136818b2119 (diff)
downloadmrst-s0i3-test-2d7c820e56ce83b23daee9eb5343730fb309418e.tar.gz
mrst-s0i3-test-2d7c820e56ce83b23daee9eb5343730fb309418e.tar.xz
mrst-s0i3-test-2d7c820e56ce83b23daee9eb5343730fb309418e.zip
ext3: add checks for errors from jbd
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, ext3_put_super() detects a checkpointing failure from the return value of journal_destroy(), then it invokes ext3_abort() to make the filesystem read only and keep needs_recovery flag. Errors from journal_flush() are also handled by this patch in some places. Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com> Cc: Jan Kara <jack@ucw.cz> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: <linux-ext4@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/jbd/checkpoint.c')
0 files changed, 0 insertions, 0 deletions