From: Chris Mason reiserfs: journal_transaction_should_end should increase the count of blocks allocated so the transaction subsystem can keep new writers from creating a transaction that is too large. Signed-off-by: Chris Mason Signed-off-by: Andrew Morton --- fs/reiserfs/journal.c | 3 +++ 1 files changed, 3 insertions(+) diff -puN fs/reiserfs/journal.c~reiserfs-fix-journal-accounting-in-journal_transaction_should_end fs/reiserfs/journal.c --- devel/fs/reiserfs/journal.c~reiserfs-fix-journal-accounting-in-journal_transaction_should_end 2006-01-16 00:08:40.000000000 -0800 +++ devel-akpm/fs/reiserfs/journal.c 2006-01-16 00:08:40.000000000 -0800 @@ -2823,6 +2823,9 @@ int journal_transaction_should_end(struc journal->j_cnode_free < (journal->j_trans_max * 3)) { return 1; } + /* protected by the BKL here */ + journal->j_len_alloc += new_alloc; + th->t_blocks_allocated += new_alloc ; return 0; } _