---

 25-akpm/fs/jbd/commit.c |    8 ++++++++
 1 files changed, 8 insertions(+)

diff -puN fs/jbd/commit.c~jbd-move-locked-buffers-leak-fixes fs/jbd/commit.c
--- 25/fs/jbd/commit.c~jbd-move-locked-buffers-leak-fixes	2004-03-22 19:34:37.492865816 -0800
+++ 25-akpm/fs/jbd/commit.c	2004-03-22 19:34:41.987182576 -0800
@@ -296,6 +296,13 @@ write_out_data:
 		}
 	}
 
+	if (bufs) {
+		spin_unlock(&journal->j_list_lock);
+		ll_rw_block(WRITE, bufs, wbuf);
+		journal_brelse_array(wbuf, bufs);
+		spin_lock(&journal->j_list_lock);
+	}
+
 	/*
 	 * Wait for all previously submitted IO to complete.
 	 */
@@ -322,6 +329,7 @@ write_out_data:
 			jh->b_transaction = NULL;
 			jbd_unlock_bh_state(bh);
 			journal_remove_journal_head(bh);
+			put_bh(bh);
 		} else {
 			jbd_unlock_bh_state(bh);
 		}

_