]> www.infradead.org Git - users/jedix/linux-maple.git/commit
libnvdimm: Add a poison list and export badblocks
authorVishal Verma <vishal.l.verma@intel.com>
Fri, 25 Dec 2015 02:21:43 +0000 (19:21 -0700)
committerDan Duval <dan.duval@oracle.com>
Wed, 7 Dec 2016 17:25:43 +0000 (12:25 -0500)
commitf55344861752fd6d3ccf5b45db8ca796cd9978c5
tree10dd6311588bf4f4a1a2088ee0420b8850cf5fa7
parentf95a4e348f6e7067fa64cf90fb420e0d261ee30c
libnvdimm: Add a poison list and export badblocks

Orabug: 22913653

During region creation, perform Address Range Scrubs (ARS) for the SPA
(System Physical Address) ranges to retrieve known poison locations from
firmware. Add a new data structure 'nd_poison' which is used as a list
in nvdimm_bus to store these poison locations.

When creating a pmem namespace, if there is any known poison associated
with its physical address space, convert the poison ranges to bad sectors
that are exposed using the badblocks interface.

Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
(cherry picked from commit 0caeef63e6d2f866d85bb507bf63e0ce8ec91cef)
Signed-off-by: Dan Duval <dan.duval@oracle.com>
drivers/acpi/nfit.c
drivers/nvdimm/core.c
drivers/nvdimm/nd-core.h
drivers/nvdimm/nd.h
drivers/nvdimm/pmem.c
include/linux/libnvdimm.h