diff --git a/fs/jbd/commit.c b/fs/jbd/commit.c index 1facfaff97cbe42e46a251b045b49e51fda772a9..a003d50edcdbdc1fe45a7627e83191cd55df378c 100644 --- a/fs/jbd/commit.c +++ b/fs/jbd/commit.c @@ -887,7 +887,8 @@ void journal_commit_transaction(journal_t *journal) journal->j_committing_transaction = NULL; spin_unlock(&journal->j_state_lock); - if (commit_transaction->t_checkpoint_list == NULL) { + if (commit_transaction->t_checkpoint_list == NULL && + commit_transaction->t_checkpoint_io_list == NULL) { __journal_drop_transaction(journal, commit_transaction); } else { if (journal->j_checkpoint_transactions == NULL) {