Thanks great to hear. Dan, Could you share the patch you ran though the unittests?
I would like to give the new patch a try in my scenario. Thanks Cheng-mean > On Jul 12, 2017, at 10:13 AM, Dan Williams <[email protected]> wrote: > > On Wed, Jul 12, 2017 at 8:04 AM, Matthew Wilcox <[email protected]> wrote: >>> You're right. It should return -ENODEV regardless, but the warning >>> should be for non-zero too small namespaces. >> >> OK, try this: >> >> ---- 8< ---- >> >> From: Matthew Wilcox <[email protected]> >> Date: Mon, 10 Jul 2017 14:26:59 -0400 >> Subject: [PATCH] nvdimm: Remove minimum size requirement >> >> There was no need to have a minimum size of 4MB for NV-DIMMs; it was >> just a sanity check. Keep a check that it's at least one page in size >> because we really can't add less than a page to the memory map. >> >> Promote the print statement from 'debug' level to 'warning', since there >> was no information for my colleague who stumbled over this problem while >> attempting to add a 2MB chunk of memory. There may be some zero-sized >> devices on the list, and those are not warned about. >> >> Truncate the resource_size_t to an int and print it using %d rather >> than printing it in hex as a pointer to an address. We know it's less >> than PAGE_SIZE, so it'll fit in an int. >> >> Reported-by: Cheng-mean Liu <[email protected]> >> Signed-off-by: Matthew Wilcox <[email protected]> >> --- >> drivers/nvdimm/namespace_devs.c | 7 ++++--- >> include/uapi/linux/ndctl.h | 4 ---- >> 2 files changed, 4 insertions(+), 7 deletions(-) >> >> diff --git a/drivers/nvdimm/namespace_devs.c >> b/drivers/nvdimm/namespace_devs.c >> index 5f1c6756e57c..518c3507f67f 100644 >> --- a/drivers/nvdimm/namespace_devs.c >> +++ b/drivers/nvdimm/namespace_devs.c >> @@ -1689,9 +1689,10 @@ struct nd_namespace_common >> *nvdimm_namespace_common_probe(struct device *dev) >> } >> >> size = nvdimm_namespace_capacity(ndns); >> - if (size < ND_MIN_NAMESPACE_SIZE) { >> - dev_dbg(&ndns->dev, "%pa, too small must be at least %#x\n", >> - &size, ND_MIN_NAMESPACE_SIZE); >> + if (size < PAGE_SIZE) { >> + if (size) >> + dev_warn(&ndns->dev, "%d too small must be at least >> %ld\n", >> + (int)size, PAGE_SIZE); >> return ERR_PTR(-ENODEV); >> } >> >> diff --git a/include/uapi/linux/ndctl.h b/include/uapi/linux/ndctl.h >> index 6d3c54264d8e..3ad1623bb585 100644 >> --- a/include/uapi/linux/ndctl.h >> +++ b/include/uapi/linux/ndctl.h >> @@ -299,10 +299,6 @@ enum nd_driver_flags { >> ND_DRIVER_DAX_PMEM = 1 << ND_DEVICE_DAX_PMEM, >> }; >> >> -enum { >> - ND_MIN_NAMESPACE_SIZE = 0x00400000, >> -}; >> - > > I ran this patch through the unit tests. We'll need to keep this > definition around until we can kill it's usage in ndctl since it's > part of the uapi. I also need to go fix up the dpa-alloc test to > understand the new assumptions. > _______________________________________________ > Linux-nvdimm mailing list > [email protected] > https://lists.01.org/mailman/listinfo/linux-nvdimm _______________________________________________ Linux-nvdimm mailing list [email protected] https://lists.01.org/mailman/listinfo/linux-nvdimm
