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

Message ID 20190905154603.10349-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. 5, 2019, 3:45 p.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 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(-)

Comments

Dan Williams Sept. 6, 2019, 5:49 p.m. UTC | #1
On Thu, Sep 5, 2019 at 8:46 AM Aneesh Kumar K.V
<aneesh.kumar@linux.ibm.com> wrote:
>
> 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(-)

Looks good, 0day has no complaints and this passes all the current
unit tests. I'll get it pushed out for v5.4 consideration. Thanks
Aneesh!