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
