summaryrefslogtreecommitdiffstats
path: root/fs/jbd/checkpoint.c
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2006-01-18 17:42:19 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-18 19:20:16 -0800
commit8d3c7fce2d20ecc3264c8d8c91ae3beacdeaed1b (patch)
treed338bd23c63a24e08962ab2dfa429ddcf7aed5ad /fs/jbd/checkpoint.c
parent2149bcabc5f6fd635935d57480044ba4c11bc020 (diff)
downloadlinux-8d3c7fce2d20ecc3264c8d8c91ae3beacdeaed1b.tar.bz2
[PATCH] jbd: log_do_checkpoint fix
While checkpointing we have to check that our transaction still is in the checkpoint list *and* (not or) that it's not just a different transaction with the same address. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/jbd/checkpoint.c')
-rw-r--r--fs/jbd/checkpoint.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/jbd/checkpoint.c b/fs/jbd/checkpoint.c
index cb3cef525c3b..e6265a0b56b8 100644
--- a/fs/jbd/checkpoint.c
+++ b/fs/jbd/checkpoint.c
@@ -338,7 +338,7 @@ restart:
* done (maybe it's a new transaction, but it fell at the same
* address).
*/
- if (journal->j_checkpoint_transactions == transaction ||
+ if (journal->j_checkpoint_transactions == transaction &&
transaction->t_tid == this_tid) {
int batch_count = 0;
struct buffer_head *bhs[NR_BATCH];