summaryrefslogtreecommitdiffstats
path: root/fs/jbd/checkpoint.c
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2006-01-19 02:42:19 +0100
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-19 04:20:16 +0100
commit8d3c7fce2d20ecc3264c8d8c91ae3beacdeaed1b (patch)
treed338bd23c63a24e08962ab2dfa429ddcf7aed5ad /fs/jbd/checkpoint.c
parentMerge master.kernel.org:/home/rmk/linux-2.6-serial (diff)
downloadlinux-8d3c7fce2d20ecc3264c8d8c91ae3beacdeaed1b.tar.xz
linux-8d3c7fce2d20ecc3264c8d8c91ae3beacdeaed1b.zip
[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];