lightnvm: pblk: ensure right bad block calculation

Make sure that the variable controlling block threshold for allocating
extra metadata sectors in case of a line with bad blocks does not get a
negative value. Otherwise, the line will be marked as corrupted and
wasted.

Signed-off-by: Javier González <javier@cnexlabs.com>
Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Javier González 2017-10-13 14:46:27 +02:00 committed by Jens Axboe
parent 21d2287119
commit e6b754c252

View File

@ -710,7 +710,7 @@ add_emeta_page:
goto add_emeta_page; goto add_emeta_page;
} }
lm->emeta_bb = geo->nr_luns - i; lm->emeta_bb = geo->nr_luns > i ? geo->nr_luns - i : 0;
lm->min_blk_line = 1; lm->min_blk_line = 1;
if (geo->nr_luns > 1) if (geo->nr_luns > 1)