From: Kent Overstreet Date: Tue, 7 Nov 2023 23:08:38 +0000 (-0500) Subject: bcachefs: Unwritten journal buffers are always dirty X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=0ba9375a111a88e47733b679f6affb7f6492de4c;p=linux.git bcachefs: Unwritten journal buffers are always dirty Ensure that journal bufs that haven't been written can't be reclaimed from the journal pin fifo, and can thus have new pins taken. Prep work for changing the btree write buffer to pull keys from the journal directly. Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/journal_reclaim.c b/fs/bcachefs/journal_reclaim.c index bd33a7c9634c4..dc415e0ec4930 100644 --- a/fs/bcachefs/journal_reclaim.c +++ b/fs/bcachefs/journal_reclaim.c @@ -303,6 +303,7 @@ void bch2_journal_reclaim_fast(struct journal *j) * all btree nodes got written out */ while (!fifo_empty(&j->pin) && + j->pin.front <= j->seq_ondisk && !atomic_read(&fifo_peek_front(&j->pin).count)) { j->pin.front++; popped = true;