VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   33 Branches   55 Tags
author: Theodore Ts'o <tytso@mit.edu> 2017-02-04 23:14:19 -0500 committer: Theodore Ts'o <tytso@mit.edu> 2017-02-04 23:14:19 -0500 commit: e112666b4959b25a8552d63bc564e1059be703e8 parent: eb5efbcb762aee4b454b04f7115f73ccbcf8f0ef
Commit Summary:
jbd2: don't leak modified metadata buffers on an aborted journal
Diffstat:
1 file changed, 3 insertions, 1 deletion
diff --git a/fs/jbd2/transaction.c b/fs/jbd2/transaction.c
index e1652665bd93..5e659ee08d6a 100644
--- a/fs/jbd2/transaction.c
+++ b/fs/jbd2/transaction.c
@@ -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 */
 }