Commit 72e71bf0 authored by Kent Overstreet's avatar Kent Overstreet

bcachefs: Fix a scheduler splat in __bch2_next_write_buffer_flush_journal_buf()

We're using mutex_lock() inside a wait_event() conditional -
prepare_to_wait() has already flipped task state, so potentially
blocking ops need annotation.
Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent c258c08a
...@@ -870,6 +870,8 @@ static struct journal_buf *__bch2_next_write_buffer_flush_journal_buf(struct jou ...@@ -870,6 +870,8 @@ static struct journal_buf *__bch2_next_write_buffer_flush_journal_buf(struct jou
{ {
struct journal_buf *ret = NULL; struct journal_buf *ret = NULL;
/* We're inside wait_event(), but using mutex_lock(: */
sched_annotate_sleep();
mutex_lock(&j->buf_lock); mutex_lock(&j->buf_lock);
spin_lock(&j->lock); spin_lock(&j->lock);
max_seq = min(max_seq, journal_cur_seq(j)); max_seq = min(max_seq, journal_cur_seq(j));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment