| From | Matias Bjørling <> | Subject | [GIT PULL 16/20] lightnvm: error handling when whole line is bad | Date | Mon, 28 May 2018 10:58:37 +0200 |
| |
From: Igor Konopko <igor.j.konopko@intel.com>
When all the blocks (chunks) in line are marked as bad (offline) we shouldn't try to read smeta during init process.
Currently we are trying to do so by passing -1 as PPA address, what causes multiple warnings, that we issuing IOs to out-of-bound PPAs.
Signed-off-by: Igor Konopko <igor.j.konopko@intel.com> Signed-off-by: Marcin Dziegielewski <marcin.dziegielewski@intel.com> Updated title. Signed-off-by: Matias Bjørling <mb@lightnvm.io> --- drivers/lightnvm/pblk-core.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/drivers/lightnvm/pblk-core.c b/drivers/lightnvm/pblk-core.c index a20b41c355c5..e3e883547198 100644 --- a/drivers/lightnvm/pblk-core.c +++ b/drivers/lightnvm/pblk-core.c @@ -868,6 +868,11 @@ int pblk_line_read_smeta(struct pblk *pblk, struct pblk_line *line) { u64 bpaddr = pblk_line_smeta_start(pblk, line); + if (bpaddr == -1) { + /* Whole line is bad - do not try to read smeta. */ + return 1; + } + return pblk_line_submit_smeta_io(pblk, line, bpaddr, PBLK_READ_RECOV); } -- 2.11.0
|