remarkable-linux/drivers/nvdimm
Vishal Verma b177fe85dd libnvdimm, btt: ensure that initializing metadata clears poison
If we had badblocks/poison in the metadata area of a BTT, recreating the
BTT would not clear the poison in all cases, notably the flog area. This
is because rw_bytes will only clear errors if the request being sent
down is 512B aligned and sized.

Make sure that when writing the map and info blocks, the rw_bytes being
sent are of the correct size/alignment. For the flog, instead of doing
the smaller log_entry writes only, first do a 'wipe' of the entire area
by writing zeroes in large enough chunks so that errors get cleared.

Cc: Andy Rudoff <andy.rudoff@intel.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2017-05-10 21:46:22 -07:00
..
blk.c libnvdimm: add an atomic vs process context flag to rw_bytes 2017-05-10 21:46:22 -07:00
btt.c libnvdimm, btt: ensure that initializing metadata clears poison 2017-05-10 21:46:22 -07:00
btt.h libnvdimm, btt: consolidate arena validation 2015-08-14 13:43:04 -04:00
btt_devs.c libnvdimm: add an atomic vs process context flag to rw_bytes 2017-05-10 21:46:22 -07:00
bus.c libnvdimm: rework region badblocks clearing 2017-04-29 15:24:03 -07:00
claim.c libnvdimm: add an atomic vs process context flag to rw_bytes 2017-05-10 21:46:22 -07:00
core.c libnvdimm: fix clear poison locking with spinlock and GFP_NOWAIT allocation 2017-04-13 14:23:51 -07:00
dax_devs.c libnvdimm: fix nvdimm_bus_lock() vs device_lock() ordering 2017-05-01 08:29:37 -07:00
dimm.c libnvdimm: handle locked label storage areas 2017-05-04 15:41:39 -07:00
dimm_devs.c libnvdimm: handle locked label storage areas 2017-05-04 15:41:39 -07:00
e820.c libnvdimm, e820: use module_platform_driver 2016-12-05 08:52:21 -08:00
Kconfig pmem: add dax_operations support 2017-04-19 15:14:35 -07:00
label.c nvdimm: use the right length of "pmem" 2016-11-11 20:37:42 -08:00
label.h libnvdimm: write blk label set 2015-06-24 21:24:10 -04:00
Makefile libnvdimm, dax: introduce device-dax infrastructure 2016-05-09 15:35:42 -07:00
namespace_devs.c libnvdimm: handle locked label storage areas 2017-05-04 15:41:39 -07:00
nd-core.h libnvdimm: fix clear poison locking with spinlock and GFP_NOWAIT allocation 2017-04-13 14:23:51 -07:00
nd.h libnvdimm: add an atomic vs process context flag to rw_bytes 2017-05-10 21:46:22 -07:00
pfn.h libnvdimm, dax: autodetect support 2016-05-20 22:02:57 -07:00
pfn_devs.c libnvdimm: add an atomic vs process context flag to rw_bytes 2017-05-10 21:46:22 -07:00
pmem.c Merge branch 'for-4.12/dax' into libnvdimm-for-next 2017-05-04 23:38:43 -07:00
pmem.h pmem: add dax_operations support 2017-04-19 15:14:35 -07:00
region.c libnvdimm: rework region badblocks clearing 2017-04-29 15:24:03 -07:00
region_devs.c libnvdimm: convert NDD_ flags to use bitops, introduce NDD_LOCKED 2017-05-04 14:01:24 -07:00