Browse Source

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>
Javier González 7 years ago
parent
commit
e6b754c252
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/lightnvm/pblk-init.c

+ 1 - 1
drivers/lightnvm/pblk-init.c

@@ -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)