From: Jan Kara Date: Thu, 19 Jan 2006 01:42:19 +0000 (-0800) Subject: [PATCH] jbd: log_do_checkpoint fix X-Git-Tag: v2.6.16-rc2~351 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8d3c7fce2d20ecc3264c8d8c91ae3beacdeaed1b;p=linux-2.6 [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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/fs/jbd/checkpoint.c b/fs/jbd/checkpoint.c index cb3cef525c..e6265a0b56 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];