[v7,0/7] Mark the namespace disabled on pfn superblock mismatch
mbox series

Message ID 20190904050822.23139-1-aneesh.kumar@linux.ibm.com
Headers show
Series
  • Mark the namespace disabled on pfn superblock mismatch
Related show

Message

Aneesh Kumar K.V Sept. 4, 2019, 5:08 a.m. UTC
We add new members to pfn superblock (PAGE_SIZE and struct page size) in this series.
This is now checked while initializing the namespace. If we find a mismatch we mark
the namespace disabled.

This series also handle configs where hugepage support is not enabled by default.
This can result in different align restrictions for dax namespace. We mark the
dax namespace disabled if we find the alignment not supported.

Changes from v6:
* Formatting changes

Changes from v5:
* Split patch 3
* Update commit message
* Add MAX_STRUCT_PAGE_SIZE with value 64 and use that when allocating reserve block
* Add BUILD_BUG_ON if we find sizeof(struct page) > 64


Aneesh Kumar K.V (6):
  libnvdimm/pmem: Advance namespace seed for specific probe errors
  libnvdimm/pfn_dev: Add a build check to make sure we notice when
    struct page size change
  libnvdimm/pfn_dev: Add page size and struct page size to pfn
    superblock
  libnvdimm/label: Remove the dpa align check
  libnvdimm: Use PAGE_SIZE instead of SZ_4K for align check
  libnvdimm/dax: Pick the right alignment default when creating dax
    devices

Dan Williams (1):
  libnvdimm/region: Rewrite _probe_success() to _advance_seeds()

 arch/powerpc/include/asm/libnvdimm.h |  9 ++++
 arch/powerpc/mm/Makefile             |  1 +
 arch/powerpc/mm/nvdimm.c             | 34 +++++++++++++
 arch/x86/include/asm/libnvdimm.h     | 19 +++++++
 drivers/nvdimm/bus.c                 |  8 ++-
 drivers/nvdimm/label.c               |  5 --
 drivers/nvdimm/namespace_devs.c      | 40 +++++++++++----
 drivers/nvdimm/nd-core.h             |  3 +-
 drivers/nvdimm/nd.h                  | 10 ++--
 drivers/nvdimm/pfn.h                 |  5 +-
 drivers/nvdimm/pfn_devs.c            | 67 ++++++++++++++++++++++--
 drivers/nvdimm/pmem.c                | 29 +++++++++--
 drivers/nvdimm/region_devs.c         | 76 +++++-----------------------
 include/linux/huge_mm.h              |  7 ++-
 14 files changed, 215 insertions(+), 98 deletions(-)
 create mode 100644 arch/powerpc/include/asm/libnvdimm.h
 create mode 100644 arch/powerpc/mm/nvdimm.c
 create mode 100644 arch/x86/include/asm/libnvdimm.h