From: Kent Overstreet Date: Sat, 26 Feb 2022 03:14:35 +0000 (-0500) Subject: bcachefs: Fix journal_flush_done() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=cb598111836fbca03b1353a6238cde8a66e5ddf0;p=linux.git bcachefs: Fix journal_flush_done() journal_flush_done() was overwriting did_work, thus occasionally returning false when it did do work and occasional assertions in the shutdown sequence because we didn't completely flush the key cache. Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/journal_reclaim.c b/fs/bcachefs/journal_reclaim.c index 2d5382a83003b..3cc980b072855 100644 --- a/fs/bcachefs/journal_reclaim.c +++ b/fs/bcachefs/journal_reclaim.c @@ -759,7 +759,8 @@ static int journal_flush_done(struct journal *j, u64 seq_to_flush, mutex_lock(&j->reclaim_lock); - *did_work = journal_flush_pins(j, seq_to_flush, 0, 0) != 0; + if (journal_flush_pins(j, seq_to_flush, 0, 0)) + *did_work = true; spin_lock(&j->lock); /*