[PATCH v2 0/9] libnvdimm, pmem: handle media errors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux