aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/lightnvm/pblk-init.c
diff options
context:
space:
mode:
authorMatias Bjørling <mb@lightnvm.io>2018-10-09 07:11:38 -0400
committerJens Axboe <axboe@kernel.dk>2018-10-09 10:25:06 -0400
commit8bbd45d02a118cbefdf4e1a6274bd965a6aa3c59 (patch)
tree03882d80b5dc3d8cae78821febc84da7fa24fac6 /drivers/lightnvm/pblk-init.c
parentafdc23c91e085c56d1b0c119563c202b07255599 (diff)
lightnvm: pblk: fix incorrect min_write_pgs
The calculation of pblk->min_write_pgs should only use the optimal write size attribute provided by the drive, it does not correlate to the memory page size of the system, which can be smaller or larger than the LBA size reported. Signed-off-by: Matias Bjørling <mb@lightnvm.io> Reviewed-by: Javier González <javier@cnexlabs.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/lightnvm/pblk-init.c')
-rw-r--r--drivers/lightnvm/pblk-init.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.c
index 9119c64d6f62..8adc8ac8b03c 100644
--- a/drivers/lightnvm/pblk-init.c
+++ b/drivers/lightnvm/pblk-init.c
@@ -371,7 +371,7 @@ static int pblk_core_init(struct pblk *pblk)
371 atomic64_set(&pblk->nr_flush, 0); 371 atomic64_set(&pblk->nr_flush, 0);
372 pblk->nr_flush_rst = 0; 372 pblk->nr_flush_rst = 0;
373 373
374 pblk->min_write_pgs = geo->ws_opt * (geo->csecs / PAGE_SIZE); 374 pblk->min_write_pgs = geo->ws_opt;
375 max_write_ppas = pblk->min_write_pgs * geo->all_luns; 375 max_write_ppas = pblk->min_write_pgs * geo->all_luns;
376 pblk->max_write_pgs = min_t(int, max_write_ppas, NVM_MAX_VLBA); 376 pblk->max_write_pgs = min_t(int, max_write_ppas, NVM_MAX_VLBA);
377 pblk_set_sec_per_write(pblk, pblk->min_write_pgs); 377 pblk_set_sec_per_write(pblk, pblk->min_write_pgs);