Changes since v1 [1]: 1/ Reorder the patches to drop/defer the mcsafe_copy() integration until mcsafe_copy() lands in -tip. 2/ Remove the badblocks_alloc() api, it is not needed. All dynamic allocations of badblocks must use devm_alloc_badblocks(). [1]: https://lists.01.org/pipermail/linux-nvdimm/2016-January/003864.html --- Following the enabling to retrieve a platform provided list of nvdimm media errors [1], implement error handling in the pmem i/o paths. This adds the following capabilities: 1/ Consult badblocks in the pmem_make_request() path to fail block layer requests to platform advertised bad address ranges. 2/ Consult badblocks in the nvdimm_read_bytes() path to communicate errors for namespace metadata reads and btt data reads. [2]: https://lists.01.org/pipermail/linux-nvdimm/2015-December/003706.html --- Dan Williams (9): libnvdimm, pmem: move definition of nvdimm_namespace_add_poison to nd.h badblocks: rename badblocks_free to badblocks_exit block: clarify badblocks lifetime block, badblocks, pmem: introduce devm_alloc_badblocks pmem: fail io-requests to known bad blocks block, dax: disable dax in the presence of bad blocks libnvdimm, pmem: prepare for handling badblocks via nvdimm_read_bytes() libnvdimm, pmem: nvdimm_read_bytes() badblocks support block: kill disk_{check|set|clear|alloc}_badblocks block/badblocks.c | 59 +++++++++++++++++++++++++-------- block/genhd.c | 47 -------------------------- block/ioctl.c | 9 +++++ drivers/md/md.c | 2 + drivers/nvdimm/btt.c | 11 ++++++ drivers/nvdimm/btt_devs.c | 10 ++++++ drivers/nvdimm/core.c | 71 ++++++++++++++++++++++++---------------- drivers/nvdimm/nd-core.h | 2 - drivers/nvdimm/nd.h | 2 + drivers/nvdimm/pfn_devs.c | 10 ++++++ drivers/nvdimm/pmem.c | 75 +++++++++++++++++++++++++++++++----------- drivers/nvdimm/region_devs.c | 6 +++ include/linux/badblocks.h | 5 ++- include/linux/genhd.h | 5 --- include/linux/nd.h | 2 + 15 files changed, 197 insertions(+), 119 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html