[PATCH 3/4] jbd: abort when failed to log metadata buffers

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Hidehiro Kawai
Date: Friday, April 18, 2008 - 6:38 am

Subject: [PATCH 3/4] jbd: abort when failed to log metadata buffers

If we failed to write metadata buffers to the journal space and
succeeded to write the commit record, stale data can be written
back to the filesystem as metadata in the recovery phase.

To avoid this, when we failed to write out metadata buffers,
abort the journal before writing the commit record.

Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
---
 fs/jbd/commit.c |    3 +++
 1 file changed, 3 insertions(+)

Index: linux-2.6.25/fs/jbd/commit.c
===================================================================
--- linux-2.6.25.orig/fs/jbd/commit.c
+++ linux-2.6.25/fs/jbd/commit.c
@@ -716,6 +716,9 @@ wait_for_iobuf:
 		__brelse(bh);
 	}
 
+	if (err)
+		journal_abort(journal, err);
+
 	J_ASSERT (commit_transaction->t_shadow_list == NULL);
 
 	jbd_debug(3, "JBD: commit phase 5\n");


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 0/4] jbd: possible filesystem corruption fixes, Hidehiro Kawai, (Fri Apr 18, 6:00 am)
[PATCH 2/4] jbd: ordered data integrity fix, Hidehiro Kawai, (Fri Apr 18, 6:37 am)
[PATCH 3/4] jbd: abort when failed to log metadata buffers, Hidehiro Kawai, (Fri Apr 18, 6:38 am)
[PATCH 4/4] jbd/ext3: fix error handling for checkpoint io, Hidehiro Kawai, (Fri Apr 18, 6:39 am)
Re: [PATCH 0/4] jbd: possible filesystem corruption fixes, Mingming Cao, (Fri Apr 18, 12:26 pm)
Re: [PATCH 0/4] jbd: possible filesystem corruption fixes, Andreas Dilger, (Mon Apr 21, 2:08 pm)
Re: [PATCH 0/4] jbd: possible filesystem corruption fixes, Hidehiro Kawai, (Wed Apr 23, 3:59 am)
Re: [PATCH 0/4] jbd: possible filesystem corruption fixes, Hidehiro Kawai, (Wed Apr 23, 4:01 am)
Re: [PATCH 0/4] jbd: possible filesystem corruption fixes, Hidehiro Kawai, (Wed Apr 23, 5:45 am)