We're getting asserion failures in commit in data=journal mode.

journal_unmap_buffer() has unexpectedly donated this buffer to the committing
transaction, and the commit-time assertion doesn't expect that to happen.  it
doesn't happen in 2.4 because both paths are under lock_journal().

Simply remove the assertion: the commit code will uncheckpoint the buffer and
then recheckpoint it if needed.



 fs/jbd/commit.c |    1 -
 1 files changed, 1 deletion(-)

diff -puN fs/jbd/commit.c~ext3-commit-assertion-fix fs/jbd/commit.c
--- 25/fs/jbd/commit.c~ext3-commit-assertion-fix	2003-07-27 22:27:44.000000000 -0700
+++ 25-akpm/fs/jbd/commit.c	2003-07-27 22:27:48.000000000 -0700
@@ -699,7 +699,6 @@ skip_commit: /* The journal should be un
 		cp_transaction = jh->b_cp_transaction;
 		if (cp_transaction) {
 			JBUFFER_TRACE(jh, "remove from old cp transaction");
-			J_ASSERT_JH(jh, commit_transaction != cp_transaction);
 			__journal_remove_checkpoint(jh);
 		}
 

_