[PATCH] jbd: log_do_checkpoint fix
authorJan Kara <jack@suse.cz>
Thu, 19 Jan 2006 01:42:19 +0000 (17:42 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Thu, 19 Jan 2006 03:20:16 +0000 (19:20 -0800)
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>
fs/jbd/checkpoint.c

index cb3cef525c3bb049d89b92fc1575c93fb1d79799..e6265a0b56b8de25e8bceccd9e6be1eff10159f7 100644 (file)
@@ -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];