Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1643322
| From | Tahsin Erdogan <tahsin@google.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH] jbd2: preserve original nofs flag during journal restart |
| Date | 2017-05-17 14:40 +0200 |
| Message-ID | <tI6pc-35o-27@gated-at.bofh.it> (permalink) |
| Organization | linux.* mail to news gateway |
When a transaction starts, start_this_handle() saves current
PF_MEMALLOC_NOFS value so that it can be restored at journal stop time.
Journal restart is a special case that calls start_this_handle() without
stopping the transaction. start_this_handle() isn't aware that the
original value is already stored so it overwrites it with current value.
For instance, a call sequence like below leaves PF_MEMALLOC_NOFS flag set
at the end:
jbd2_journal_start()
jbd2__journal_restart()
jbd2_journal_stop()
Make jbd2__journal_restart() restore the original value before calling
start_this_handle().
Fixes: 81378da64de6 ("jbd2: mark the transaction context with the scope GFP_NOFS context")
Signed-off-by: Tahsin Erdogan <tahsin@google.com>
---
fs/jbd2/transaction.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/jbd2/transaction.c b/fs/jbd2/transaction.c
index 9ee4832b6f8b..dfd6afebdfeb 100644
--- a/fs/jbd2/transaction.c
+++ b/fs/jbd2/transaction.c
@@ -680,6 +680,7 @@ int jbd2__journal_restart(handle_t *handle, int nblocks, gfp_t gfp_mask)
rwsem_release(&journal->j_trans_commit_map, 1, _THIS_IP_);
handle->h_buffer_credits = nblocks;
+ memalloc_nofs_restore(handle->saved_alloc_context);
ret = start_this_handle(journal, handle, gfp_mask);
return ret;
}
--
2.13.0.303.g4ebf302169-goog
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[PATCH] jbd2: preserve original nofs flag during journal restart Tahsin Erdogan <tahsin@google.com> - 2017-05-17 14:40 +0200
Re: [PATCH] jbd2: preserve original nofs flag during journal restart Jan Kara <jack@suse.cz> - 2017-05-17 16:10 +0200
Re: [PATCH] jbd2: preserve original nofs flag during journal restart Michal Hocko <mhocko@kernel.org> - 2017-05-17 16:20 +0200
Re: [PATCH] jbd2: preserve original nofs flag during journal restart Jan Kara <jack@suse.cz> - 2017-05-17 17:00 +0200
Re: [PATCH] jbd2: preserve original nofs flag during journal restart Michal Hocko <mhocko@kernel.org> - 2017-05-17 17:30 +0200
[PATCH v2] jbd2: preserve original nofs flag during journal restart Tahsin Erdogan <tahsin@google.com> - 2017-05-17 18:20 +0200
Re: [PATCH v2] jbd2: preserve original nofs flag during journal restart Michal Hocko <mhocko@kernel.org> - 2017-05-18 11:20 +0200
Re: [PATCH v2] jbd2: preserve original nofs flag during journal restart Jan Kara <jack@suse.cz> - 2017-05-18 11:40 +0200
[PATCH v3] jbd2: preserve original nofs flag during journal restart Tahsin Erdogan <tahsin@google.com> - 2017-05-18 18:30 +0200
Re: [PATCH v3] jbd2: preserve original nofs flag during journal restart Theodore Ts'o <tytso@mit.edu> - 2017-05-20 06:20 +0200
csiph-web