diff options
author | Vishal Verma <vishal.l.verma@intel.com> | 2015-12-24 19:21:43 -0700 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2016-01-09 08:39:03 -0800 |
commit | 0caeef63e6d2f866d85bb507bf63e0ce8ec91cef (patch) | |
tree | dbd09f34ab455ca2dfc8c246ff7d19d17edd1de7 /include/linux/libnvdimm.h | |
parent | d26f73f083ed6fbea7fd3fdbacb527b7f3e75ac0 (diff) | |
download | op-kernel-dev-0caeef63e6d2f866d85bb507bf63e0ce8ec91cef.zip op-kernel-dev-0caeef63e6d2f866d85bb507bf63e0ce8ec91cef.tar.gz |
libnvdimm: Add a poison list and export badblocks
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>
Diffstat (limited to 'include/linux/libnvdimm.h')
-rw-r--r-- | include/linux/libnvdimm.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/libnvdimm.h b/include/linux/libnvdimm.h index 3f021dc..bed40df 100644 --- a/include/linux/libnvdimm.h +++ b/include/linux/libnvdimm.h @@ -116,6 +116,7 @@ static inline struct nd_blk_region_desc *to_blk_region_desc( } +int nvdimm_bus_add_poison(struct nvdimm_bus *nvdimm_bus, u64 addr, u64 length); struct nvdimm_bus *__nvdimm_bus_register(struct device *parent, struct nvdimm_bus_descriptor *nfit_desc, struct module *module); #define nvdimm_bus_register(parent, desc) \ |