On 17.03.2019 20:56, Matias Bjørling wrote:
On 3/14/19 9:04 AM, Igor Konopko wrote:
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 <[email protected]>
---
  drivers/lightnvm/pblk-recovery.c | 9 +++++++++
  1 file changed, 9 insertions(+)

diff --git a/drivers/lightnvm/pblk-recovery.c b/drivers/lightnvm/pblk-recovery.c
index 4764596..2132260 100644
--- a/drivers/lightnvm/pblk-recovery.c
+++ b/drivers/lightnvm/pblk-recovery.c
@@ -479,6 +479,14 @@ 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.
+         */
+        goto completed;

The bio needs to be put before going to completed?

Yes, definitely, thanks.

+    }
+
      pblk_get_packed_meta(pblk, rqd);
      bio_put(bio);
@@ -499,6 +507,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


Reply via email to