diff options
| author | Heiner Litz <[email protected]> | 2018-03-29 22:05:06 +0000 |
|---|---|---|
| committer | Jens Axboe <[email protected]> | 2018-03-29 23:29:09 +0000 |
| commit | a38c78d82dd38ce178c994a777751fae61ae31c8 (patch) | |
| tree | 5bf95545b8dcca5348b5fbdbeee79065756e79e1 /drivers/lightnvm/pblk-init.c | |
| parent | nvme: lightnvm: add late setup of block size and metadata (diff) | |
| download | kernel-a38c78d82dd38ce178c994a777751fae61ae31c8.tar.gz kernel-a38c78d82dd38ce178c994a777751fae61ae31c8.zip | |
lightnvm: fix bad block initialization
fix reading bad block device information to correctly setup the per line
blk_bitmap during lightnvm initialization
Signed-off-by: Heiner Litz <[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.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.c index 43b835678f48..ee936c1ff764 100644 --- a/drivers/lightnvm/pblk-init.c +++ b/drivers/lightnvm/pblk-init.c @@ -460,10 +460,11 @@ static int pblk_bb_line(struct pblk *pblk, struct pblk_line *line, struct nvm_tgt_dev *dev = pblk->dev; struct nvm_geo *geo = &dev->geo; int i, bb_cnt = 0; + int blk_per_lun = geo->nr_chks * geo->plane_mode; for (i = 0; i < blk_per_line; i++) { struct pblk_lun *rlun = &pblk->luns[i]; - u8 *lun_bb_log = bb_log + i * blk_per_line; + u8 *lun_bb_log = bb_log + i * blk_per_lun; if (lun_bb_log[line->id] == NVM_BLK_T_FREE) continue; |
