From: Kent Overstreet Date: Mon, 6 May 2024 14:14:13 +0000 (-0400) Subject: bcachefs: Fix a scheduler splat in __bch2_next_write_buffer_flush_journal_buf() X-Git-Tag: microblaze-v6.13~1109^2~174 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=72e71bf0298c7ed985bcd0d3c7ff4ca19de60373;p=linux-2.6-microblaze.git 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: Kent Overstreet --- diff --git a/fs/bcachefs/journal.c b/fs/bcachefs/journal.c index 9c9a25dbd613..9c2af544251a 100644 --- a/fs/bcachefs/journal.c +++ b/fs/bcachefs/journal.c @@ -870,6 +870,8 @@ static struct journal_buf *__bch2_next_write_buffer_flush_journal_buf(struct jou { struct journal_buf *ret = NULL; + /* We're inside wait_event(), but using mutex_lock(: */ + sched_annotate_sleep(); mutex_lock(&j->buf_lock); spin_lock(&j->lock); max_seq = min(max_seq, journal_cur_seq(j));