summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/md/bcache/journal.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/md/bcache/journal.c b/drivers/md/bcache/journal.c
index 3c63a31c18f4..fb799ce47a4a 100644
--- a/drivers/md/bcache/journal.c
+++ b/drivers/md/bcache/journal.c
@@ -1529,6 +1529,7 @@ int bch_cache_journal_alloc(struct cache *ca)
static void journal_reclaim_fast(struct journal *j)
{
struct journal_entry_pin_list temp;
+ bool popped = false;
lockdep_assert_held(&j->lock);
@@ -1539,7 +1540,11 @@ static void journal_reclaim_fast(struct journal *j)
while (!atomic_read(&fifo_peek_front(&j->pin).count)) {
BUG_ON(!list_empty(&fifo_peek_front(&j->pin).list));
BUG_ON(!fifo_pop(&j->pin, temp));
+ popped = true;
}
+
+ if (popped)
+ wake_up(&j->wait);
}
/*