Emeta does not have corresponding OOB metadata mapping valid, so there is no need to try to recover L2P mapping from it. Signed-off-by: Igor Konopko <igor.j.konopko@xxxxxxxxx> --- drivers/lightnvm/pblk-recovery.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/lightnvm/pblk-recovery.c b/drivers/lightnvm/pblk-recovery.c index 4e8f382..74e5b17 100644 --- a/drivers/lightnvm/pblk-recovery.c +++ b/drivers/lightnvm/pblk-recovery.c @@ -479,6 +479,15 @@ static int pblk_recov_scan_oob(struct pblk *pblk, struct pblk_line *line, goto retry_rq; } + if (paddr >= line->emeta_ssec) { + /* + * We reach emeta region and we don't want + * to recover oob from emeta region. + */ + bio_put(bio); + goto completed; + } + pblk_get_packed_meta(pblk, rqd); bio_put(bio); @@ -499,6 +508,7 @@ static int pblk_recov_scan_oob(struct pblk *pblk, struct pblk_line *line, if (left_ppas > 0) goto next_rq; +completed: #ifdef CONFIG_NVM_PBLK_DEBUG WARN_ON(padded && !pblk_line_is_full(line)); #endif -- 2.9.5