diff options
Diffstat (limited to 'fs/jbd2/commit.c')
| -rw-r--r-- | fs/jbd2/commit.c | 13 | 
1 files changed, 6 insertions, 7 deletions
| diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c index 1bc74b6f26d2..671da7fb7ffd 100644 --- a/fs/jbd2/commit.c +++ b/fs/jbd2/commit.c | |||
| @@ -883,8 +883,7 @@ restart_loop: | |||
| 883 | spin_unlock(&journal->j_list_lock); | 883 | spin_unlock(&journal->j_list_lock); | 
| 884 | bh = jh2bh(jh); | 884 | bh = jh2bh(jh); | 
| 885 | jbd_lock_bh_state(bh); | 885 | jbd_lock_bh_state(bh); | 
| 886 | J_ASSERT_JH(jh, jh->b_transaction == commit_transaction || | 886 | J_ASSERT_JH(jh, jh->b_transaction == commit_transaction); | 
| 887 | jh->b_transaction == journal->j_running_transaction); | ||
| 888 | 887 | ||
| 889 | /* | 888 | /* | 
| 890 | * If there is undo-protected committed data against | 889 | * If there is undo-protected committed data against | 
| @@ -930,12 +929,12 @@ restart_loop: | |||
| 930 | /* A buffer which has been freed while still being | 929 | /* A buffer which has been freed while still being | 
| 931 | * journaled by a previous transaction may end up still | 930 | * journaled by a previous transaction may end up still | 
| 932 | * being dirty here, but we want to avoid writing back | 931 | * being dirty here, but we want to avoid writing back | 
| 933 | * that buffer in the future now that the last use has | 932 | * that buffer in the future after the "add to orphan" | 
| 934 | * been committed. That's not only a performance gain, | 933 | * operation been committed, That's not only a performance | 
| 935 | * it also stops aliasing problems if the buffer is left | 934 | * gain, it also stops aliasing problems if the buffer is | 
| 936 | * behind for writeback and gets reallocated for another | 935 | * left behind for writeback and gets reallocated for another | 
| 937 | * use in a different page. */ | 936 | * use in a different page. */ | 
| 938 | if (buffer_freed(bh)) { | 937 | if (buffer_freed(bh) && !jh->b_next_transaction) { | 
| 939 | clear_buffer_freed(bh); | 938 | clear_buffer_freed(bh); | 
| 940 | clear_buffer_jbddirty(bh); | 939 | clear_buffer_jbddirty(bh); | 
| 941 | } | 940 | } | 
