block: Add badblock management for gendisks
authorVishal Verma <vishal.l.verma@intel.com>
Sat, 9 Jan 2016 16:36:51 +0000 (08:36 -0800)
committerDan Williams <dan.j.williams@intel.com>
Sat, 9 Jan 2016 16:36:51 +0000 (08:36 -0800)
commit99e6608c9e7414ae4f2168df8bf8fae3eb49e41f
tree20ab40762557164e1358a960782410c33bd4f423
parent9e0e252a048b0ba5066f0dc15c3b2468ffe5c422
block: Add badblock management for gendisks

NVDIMM devices, which can behave more like DRAM rather than block
devices, may develop bad cache lines, or 'poison'. A block device
exposed by the pmem driver can then consume poison via a read (or
write), and cause a machine check. On platforms without machine
check recovery features, this would mean a crash.

The block device maintaining a runtime list of all known sectors that
have poison can directly avoid this, and also provide a path forward
to enable proper handling/recovery for DAX faults on such a device.

Use the new badblock management interfaces to add a badblocks list to
gendisks.

Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
block/genhd.c
include/linux/genhd.h