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

am: a9b0c14ba1

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

View File

@@ -1863,7 +1863,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 */
}