b=19025
i=jay
Upstream patch, this time with the patch.
--- /dev/null
+diff -pur linux-2.6.18-128.orig/fs/jbd/commit.c linux-2.6.18-128/fs/jbd/commit.c
+--- linux-2.6.18-128.orig/fs/jbd/commit.c 2009-04-10 16:31:40.000000000 +0800
++++ linux-2.6.18-128/fs/jbd/commit.c 2009-04-10 16:33:14.000000000 +0800
+@@ -862,7 +862,8 @@ wait_for_iobuf:
+ if (err)
+ __journal_abort_hard(journal);
+ }
+- err = journal_wait_on_commit_record(cbh);
++ if (!err && !is_journal_aborted(journal))
++ err = journal_wait_on_commit_record(cbh);
+
+ if (err)
+ journal_abort(journal, err);