aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/lightnvm/pblk-init.c
diff options
context:
space:
mode:
authorHans Holmberg <[email protected]>2017-10-13 12:46:37 +0000
committerJens Axboe <[email protected]>2017-10-13 14:34:57 +0000
commit03661b5f756c92b9924869334a2afa19753c4fe7 (patch)
treeabe763a5913b21f5fb86440cd54b2e8be2e69e4e /drivers/lightnvm/pblk-init.c
parentlightnvm: pblk: free full lines during recovery (diff)
downloadkernel-03661b5f756c92b9924869334a2afa19753c4fe7.tar.gz
kernel-03661b5f756c92b9924869334a2afa19753c4fe7.zip
lightnvm: pblk: start gc if needed during init
Start GC if needed, directly after init, as we might need to garbage collect in order to make room for user writes. Create a helper function that allows to kick GC without exposing the internals of the GC/rate-limiter interaction. Signed-off-by: Hans Holmberg <[email protected]> Signed-off-by: Matias Bjørling <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'drivers/lightnvm/pblk-init.c')
-rw-r--r--drivers/lightnvm/pblk-init.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.c
index f08fa2083fbc..ad9f014a086b 100644
--- a/drivers/lightnvm/pblk-init.c
+++ b/drivers/lightnvm/pblk-init.c
@@ -1025,6 +1025,10 @@ static void *pblk_init(struct nvm_tgt_dev *dev, struct gendisk *tdisk,
pblk->rwb.nr_entries);
wake_up_process(pblk->writer_ts);
+
+ /* Check if we need to start GC */
+ pblk_gc_should_kick(pblk);
+
return pblk;
fail_stop_writer: