Commit b84ee08e authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] ext3: fix commit assertion failure

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.
parent 01b1174f
...@@ -699,7 +699,6 @@ void journal_commit_transaction(journal_t *journal) ...@@ -699,7 +699,6 @@ void journal_commit_transaction(journal_t *journal)
cp_transaction = jh->b_cp_transaction; cp_transaction = jh->b_cp_transaction;
if (cp_transaction) { if (cp_transaction) {
JBUFFER_TRACE(jh, "remove from old cp transaction"); JBUFFER_TRACE(jh, "remove from old cp transaction");
J_ASSERT_JH(jh, commit_transaction != cp_transaction);
__journal_remove_checkpoint(jh); __journal_remove_checkpoint(jh);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment