Re: [PATCH 2/2] libnvdimm: clear region badblock in nvdimm_clear_poison()

From: Dan Williams
Date: Fri Apr 28 2017 - 20:10:41 EST


On Thu, Apr 27, 2017 at 3:57 PM, Toshi Kani <toshi.kani@xxxxxxx> wrote:
> Badblocks are tracked at both region and device levels.
> pmem_clear_poison() and nsio_rw_bytes() call nvdimm_clear_poison()
> and then badblocks_clear() to clear badblocks at the device level.
> However, it does not update badblocks at the region level, which
> makes them inconsistent.
>
> Change nvdimm_clear_poison() to update backblocks at the region
> level to keep them consistent.
>
> Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx>
> Cc: Dan Williams <dan.j.williams@xxxxxxxxx>
> Cc: Dave Jiang <dave.jiang@xxxxxxxxx>
> Cc: Vishal Verma <vishal.l.verma@xxxxxxxxx>

This looks good, and it seems we have a bug in the other location that
does this in __nd_ioctl(). That other one is missing the
"clear_err.cleared / 512" check. Can you respin this and define a
common helper that both locations can call?