From 06ec8d377f25b6ecda3799e244431d283ab9a60e Mon Sep 17 00:00:00 2001 From: Hidehiro Kawai Date: Sat, 18 Oct 2008 20:27:54 -0700 Subject: [PATCH] --- yaml --- r: 115918 b: refs/heads/master c: 885e353c7427db7b60692789741b34e605b0b69b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/jbd/commit.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 3818a40f0fd3..5c2dd70f924b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d1645e526a1e5842c9ac433d73419ba886676cf3 +refs/heads/master: 885e353c7427db7b60692789741b34e605b0b69b diff --git a/trunk/fs/jbd/commit.c b/trunk/fs/jbd/commit.c index f1ea861b9929..d6a6659f3e46 100644 --- a/trunk/fs/jbd/commit.c +++ b/trunk/fs/jbd/commit.c @@ -518,9 +518,10 @@ void journal_commit_transaction(journal_t *journal) jh = commit_transaction->t_buffers; /* If we're in abort mode, we just un-journal the buffer and - release it for background writing. */ + release it. */ if (is_journal_aborted(journal)) { + clear_buffer_jbddirty(jh2bh(jh)); JBUFFER_TRACE(jh, "journal is aborting: refile"); journal_refile_buffer(journal, jh); /* If that was the last one, we need to clean up @@ -855,6 +856,8 @@ void journal_commit_transaction(journal_t *journal) if (buffer_jbddirty(bh)) { JBUFFER_TRACE(jh, "add to new checkpointing trans"); __journal_insert_checkpoint(jh, commit_transaction); + if (is_journal_aborted(journal)) + clear_buffer_jbddirty(bh); JBUFFER_TRACE(jh, "refile for checkpoint writeback"); __journal_refile_buffer(jh); jbd_unlock_bh_state(bh);