jbd2: don't leak modified metadata buffers on an aborted journal

am: 973f40f368

Change-Id: I3c95a6a0e9d2daa4713da89a47c3aac6b6193d02
This commit is contained in:
Theodore Ts'o
2017-03-12 08:17:19 +00:00
committed by android-build-merger

View File

@@ -1876,7 +1876,9 @@ static void __jbd2_journal_temp_unlink_buffer(struct journal_head *jh)
__blist_del_buffer(list, jh);
jh->b_jlist = BJ_None;
if (test_clear_buffer_jbddirty(bh))
if (transaction && is_journal_aborted(transaction->t_journal))
clear_buffer_jbddirty(bh);
else if (test_clear_buffer_jbddirty(bh))
mark_buffer_dirty(bh); /* Expose it to the VM */
}