aboutsummaryrefslogtreecommitdiffstats
path: root/fs/jbd2/commit.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/jbd2/commit.c')
-rw-r--r--fs/jbd2/commit.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c
index 1bc74b6f26d2..3ee211ed58f1 100644
--- a/fs/jbd2/commit.c
+++ b/fs/jbd2/commit.c
@@ -930,12 +930,12 @@ restart_loop:
930 /* A buffer which has been freed while still being 930 /* A buffer which has been freed while still being
931 * journaled by a previous transaction may end up still 931 * journaled by a previous transaction may end up still
932 * being dirty here, but we want to avoid writing back 932 * being dirty here, but we want to avoid writing back
933 * that buffer in the future now that the last use has 933 * that buffer in the future after the "add to orphan"
934 * been committed. That's not only a performance gain, 934 * operation been committed, That's not only a performance
935 * it also stops aliasing problems if the buffer is left 935 * gain, it also stops aliasing problems if the buffer is
936 * behind for writeback and gets reallocated for another 936 * left behind for writeback and gets reallocated for another
937 * use in a different page. */ 937 * use in a different page. */
938 if (buffer_freed(bh)) { 938 if (buffer_freed(bh) && !jh->b_next_transaction) {
939 clear_buffer_freed(bh); 939 clear_buffer_freed(bh);
940 clear_buffer_jbddirty(bh); 940 clear_buffer_jbddirty(bh);
941 } 941 }