aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/jbd/commit.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/jbd/commit.c b/fs/jbd/commit.c
index f1ea861b9929..d6a6659f3e46 100644
--- a/fs/jbd/commit.c
+++ b/fs/jbd/commit.c
@@ -518,9 +518,10 @@ void journal_commit_transaction(journal_t *journal)
518 jh = commit_transaction->t_buffers; 518 jh = commit_transaction->t_buffers;
519 519
520 /* If we're in abort mode, we just un-journal the buffer and 520 /* If we're in abort mode, we just un-journal the buffer and
521 release it for background writing. */ 521 release it. */
522 522
523 if (is_journal_aborted(journal)) { 523 if (is_journal_aborted(journal)) {
524 clear_buffer_jbddirty(jh2bh(jh));
524 JBUFFER_TRACE(jh, "journal is aborting: refile"); 525 JBUFFER_TRACE(jh, "journal is aborting: refile");
525 journal_refile_buffer(journal, jh); 526 journal_refile_buffer(journal, jh);
526 /* If that was the last one, we need to clean up 527 /* If that was the last one, we need to clean up
@@ -855,6 +856,8 @@ restart_loop:
855 if (buffer_jbddirty(bh)) { 856 if (buffer_jbddirty(bh)) {
856 JBUFFER_TRACE(jh, "add to new checkpointing trans"); 857 JBUFFER_TRACE(jh, "add to new checkpointing trans");
857 __journal_insert_checkpoint(jh, commit_transaction); 858 __journal_insert_checkpoint(jh, commit_transaction);
859 if (is_journal_aborted(journal))
860 clear_buffer_jbddirty(bh);
858 JBUFFER_TRACE(jh, "refile for checkpoint writeback"); 861 JBUFFER_TRACE(jh, "refile for checkpoint writeback");
859 __journal_refile_buffer(jh); 862 __journal_refile_buffer(jh);
860 jbd_unlock_bh_state(bh); 863 jbd_unlock_bh_state(bh);