• Hidehiro Kawai's avatar
    ext3: add checks for errors from jbd · 2d7c820e
    Hidehiro Kawai authored
    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: default avatarHidehiro 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: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    2d7c820e
super.c 82.5 KB