[PATCH v9 0/7] Mark the namespace disabled on pfn superblock mismatch

Aneesh Kumar K.V
2019-09-05T15:45:56Z

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 v8:
* updated patch 7 for addressing review feedback

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()

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 | 110 +++++++++++++++++++++++++-------
drivers/nvdimm/pmem.c | 29 +++++++--
drivers/nvdimm/region_devs.c | 76 ++++------------------
include/linux/huge_mm.h | 7 +-
10 files changed, 176 insertions(+), 117 deletions(-)

--
2.21.0