• Vishal Verma's avatar
    libnvdimm, pfn: during init, clear errors in the metadata area · 48af2f7e
    Vishal Verma authored
    If there are badblocks present in the 'struct page' area for pfn
    namespaces, until now, the only way to clear them has been to force the
    namespace into raw mode, clear the errors, and re-enable the fsdax mode.
    This is clunky, given that it should be easy enough for the pfn driver
    to do the same.
    
    Add a new helper that uses the most recently available badblocks list to
    check whether there are any badblocks that lie in the volatile struct
    page area. If so, before initializing the struct pages, send down
    targeted writes via nvdimm_write_bytes to write zeroes to the affected
    blocks, and thus clear errors.
    
    Cc: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: default avatarVishal Verma <vishal.l.verma@intel.com>
    Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
    48af2f7e
pfn_devs.c 20.2 KB