diff options
author | Chris Mason <mason@suse.com> | 2006-02-01 03:06:50 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-01 08:53:26 -0800 |
commit | 6ae1ea447d21c4fecf5df8d0e1022461274fb4e8 (patch) | |
tree | 1827567dfb6532bad3f72f10e1bb023cdaee212f /fs/reiserfs/journal.c | |
parent | 3d4492f81dd7b486f1be0616a1ce7f73760f406e (diff) | |
download | op-kernel-dev-6ae1ea447d21c4fecf5df8d0e1022461274fb4e8.zip op-kernel-dev-6ae1ea447d21c4fecf5df8d0e1022461274fb4e8.tar.gz |
[PATCH] reiserfs: reiserfs fix journal accounting in journal_transaction_should_end
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 <mason@suse.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/reiserfs/journal.c')
-rw-r--r-- | fs/reiserfs/journal.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c index 47c9f43..b7a1795 100644 --- a/fs/reiserfs/journal.c +++ b/fs/reiserfs/journal.c @@ -2823,6 +2823,9 @@ int journal_transaction_should_end(struct reiserfs_transaction_handle *th, 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; } |