diff options
| author | Theodore Ts'o <tytso@mit.edu> | 2017-03-12 08:17:19 +0000 |
|---|---|---|
| committer | android-build-merger <android-build-merger@google.com> | 2017-03-12 08:17:19 +0000 |
| commit | 438bedf5bf1b4ec49332cffc8b7cda1e909b4c82 (patch) | |
| tree | f95911533e62bf3d06a4a1a0ff1a1f319d393fcb /fs | |
| parent | cd5e303ecd1b4d803f35c01633c6eb46457e7520 (diff) | |
| parent | 973f40f368f72e868af1799b656deeed89be021c (diff) | |
jbd2: don't leak modified metadata buffers on an aborted journal
am: 973f40f368
Change-Id: I3c95a6a0e9d2daa4713da89a47c3aac6b6193d02
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/jbd2/transaction.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/jbd2/transaction.c b/fs/jbd2/transaction.c index fa1b8e0dcacf..a2e724053919 100644 --- a/fs/jbd2/transaction.c +++ b/fs/jbd2/transaction.c @@ -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 */ } |
