> On 14 Mar 2019, at 09.04, Igor Konopko <[email protected]> wrote:
> 
> Currently when smeta/emeta/oob is read errors are not always propagated
> correctly. This patch changes that behaviour and propagates all the
> error codes except of high ecc read warning status.
> 
> Signed-off-by: Igor Konopko <[email protected]>
> ---
> drivers/lightnvm/pblk-core.c     | 9 +++++++--
> drivers/lightnvm/pblk-recovery.c | 2 +-
> 2 files changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/lightnvm/pblk-core.c b/drivers/lightnvm/pblk-core.c
> index 39280c1..38e26fe 100644
> --- a/drivers/lightnvm/pblk-core.c
> +++ b/drivers/lightnvm/pblk-core.c
> @@ -761,8 +761,10 @@ int pblk_line_smeta_read(struct pblk *pblk, struct 
> pblk_line *line)
> 
>       atomic_dec(&pblk->inflight_io);
> 
> -     if (rqd.error)
> +     if (rqd.error && rqd.error != NVM_RSP_WARN_HIGHECC) {
>               pblk_log_read_err(pblk, &rqd);
> +             ret = -EIO;
> +     }
> 
> clear_rqd:
>       pblk_free_rqd_meta(pblk, &rqd);
> @@ -916,8 +918,11 @@ int pblk_line_emeta_read(struct pblk *pblk, struct 
> pblk_line *line,
> 
>       atomic_dec(&pblk->inflight_io);
> 
> -     if (rqd.error)
> +     if (rqd.error && rqd.error != NVM_RSP_WARN_HIGHECC) {
>               pblk_log_read_err(pblk, &rqd);
> +             ret = -EIO;
> +             goto free_rqd_dma;
> +     }
> 
>       emeta_buf += rq_len;
>       left_ppas -= rq_ppas;
> diff --git a/drivers/lightnvm/pblk-recovery.c 
> b/drivers/lightnvm/pblk-recovery.c
> index bcd3633..688fdeb 100644
> --- a/drivers/lightnvm/pblk-recovery.c
> +++ b/drivers/lightnvm/pblk-recovery.c
> @@ -450,7 +450,7 @@ static int pblk_recov_scan_oob(struct pblk *pblk, struct 
> pblk_line *line,
>       atomic_dec(&pblk->inflight_io);
> 
>       /* If a read fails, do a best effort by padding the line and retrying */
> -     if (rqd->error) {
> +     if (rqd->error && rqd->error != NVM_RSP_WARN_HIGHECC) {
>               int pad_distance, ret;
> 
>               if (padded) {
> --
> 2.9.5


Looks good to me.

Reviewed-by: Javier González <[email protected]>

Attachment: signature.asc
Description: Message signed with OpenPGP

Reply via email to