On Wed, 2019-10-30 at 17:28 -0400, Qian Cai wrote:
> drivers/nvdimm/btt.c: In function 'btt_read_pg':
> drivers/nvdimm/btt.c:1264:8: warning: variable 'rc' set but not used
> [-Wunused-but-set-variable]
> int rc;
> ^~
>
> Add a ratelimited message in case a storm of errors is encountered.
>
> Fixes: d9b83c756953 ("libnvdimm, btt: rework error clearing")
> Signed-off-by: Qian Cai <[email protected]>
> ---
>
> v2: include the block address that is returning an error per Dan.
>
> drivers/nvdimm/btt.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/nvdimm/btt.c b/drivers/nvdimm/btt.c
> index 3e9f45aec8d1..10313be78221 100644
> --- a/drivers/nvdimm/btt.c
> +++ b/drivers/nvdimm/btt.c
> @@ -1266,6 +1266,12 @@ static int btt_read_pg(struct btt *btt, struct bio_integrity_payload *bip,
> /* Media error - set the e_flag */
> rc = btt_map_write(arena, premap, postmap, 0, 1,
> NVDIMM_IO_ATOMIC);
> +
> + if (rc)
> + dev_warn_ratelimited(to_dev(arena),
> + "Error persistently tracking bad blocks at %#x\n",
> + premap);
> +
> goto out_rtt;
> }
Good find! Since we're not really using rc later, we should just
simplify this to:
if (btt_map_write(...))
dev_warn_ratelimited(...)
goto out_rtt;
> On Oct 30, 2019, at 5:38 PM, Verma, Vishal L <[email protected]> wrote:
>
> Good find! Since we're not really using rc later, we should just
> simplify this to:
>
> if (btt_map_write(...))
> dev_warn_ratelimited(...)
> goto out_rtt;
Ah, I thought about printing the rc as well at first, but it seems only return -EIO for errors, so I agree with you.