提交 8d3c7fce 编写于 作者: J Jan Kara 提交者: Linus Torvalds

[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: NJan Kara <jack@suse.cz>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 2149bcab
...@@ -338,7 +338,7 @@ int log_do_checkpoint(journal_t *journal) ...@@ -338,7 +338,7 @@ int log_do_checkpoint(journal_t *journal)
* done (maybe it's a new transaction, but it fell at the same * done (maybe it's a new transaction, but it fell at the same
* address). * address).
*/ */
if (journal->j_checkpoint_transactions == transaction || if (journal->j_checkpoint_transactions == transaction &&
transaction->t_tid == this_tid) { transaction->t_tid == this_tid) {
int batch_count = 0; int batch_count = 0;
struct buffer_head *bhs[NR_BATCH]; struct buffer_head *bhs[NR_BATCH];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册