From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932779AbcK2BOZ (ORCPT ); Mon, 28 Nov 2016 20:14:25 -0500 Received: from mga03.intel.com ([134.134.136.65]:34080 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751758AbcK2BOQ (ORCPT ); Mon, 28 Nov 2016 20:14:16 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,714,1473145200"; d="scan'208";a="906535265" From: "Verma, Vishal L" To: "Williams, Dan J" , "linux-nvdimm@lists.01.org" CC: "linux-kernel@vger.kernel.org" Subject: Re: [PATCH] libnvdimm: use consistent naming for request_mem_region() Thread-Topic: [PATCH] libnvdimm: use consistent naming for request_mem_region() Thread-Index: AQHSSa3UljPJX7/BrEuKfEor2Sa0SKDvroiA Date: Tue, 29 Nov 2016 01:14:13 +0000 Message-ID: <1480382051.5111.8.camel@intel.com> References: <148036114338.1592.11338839039403854102.stgit@dwillia2-desk3.amr.corp.intel.com> In-Reply-To: <148036114338.1592.11338839039403854102.stgit@dwillia2-desk3.amr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.254.13.5] Content-Type: text/plain; charset="utf-8" Content-ID: <4211CB3FBAE15E47AE005970D7F1615F@intel.com> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id uAT1ETjd031502 On Mon, 2016-11-28 at 11:25 -0800, Dan Williams wrote: > Here is an example /proc/iomem listing for a system with 2 > namespaces, > one in "sector" mode and one in "memory" mode: > >   1fc000000-2fbffffff : Persistent Memory (legacy) >     1fc000000-2fbffffff : namespace1.0 >   340000000-34fffffff : Persistent Memory >     340000000-34fffffff : btt0.1 > > Here is the corresponding ndctl listing: > >   # ndctl list >   [ >     { >       "dev":"namespace1.0", >       "mode":"memory", >       "size":4294967296, >       "blockdev":"pmem1" >     }, >     { >       "dev":"namespace0.0", >       "mode":"sector", >       "size":267091968, >       "uuid":"f7594f86-badb-4592-875f-ded577da2eaf", >       "sector_size":4096, >       "blockdev":"pmem0s" >     } >   ] > > Notice that the ndctl listing is purely in terms of namespace > devices, > while the iomem listing leaks the internal "btt0.1" implementation > detail. Given that ndctl requires the namespace device name to change > the mode, for example: > >   # ndctl create-namespace --reconfig=namespace0.0 --mode=raw --force > > ...use the namespace name in the iomem listing to keep the claiming > device name consistent across different mode settings. > > Cc: Vishal Verma > Signed-off-by: Dan Williams > --- >  drivers/dax/pmem.c     |    3 ++- >  drivers/nvdimm/claim.c |    2 +- >  drivers/nvdimm/pmem.c  |    2 +- >  3 files changed, 4 insertions(+), 3 deletions(-) Looks good! Reveiwed-by: Vishal Verma > > diff --git a/drivers/dax/pmem.c b/drivers/dax/pmem.c > index 9630d8837ba9..3ff84784249a 100644 > --- a/drivers/dax/pmem.c > +++ b/drivers/dax/pmem.c > @@ -87,7 +87,8 @@ static int dax_pmem_probe(struct device *dev) >   pfn_sb = nd_pfn->pfn_sb; >   >   if (!devm_request_mem_region(dev, nsio->res.start, > - resource_size(&nsio->res), > dev_name(dev))) { > + resource_size(&nsio->res), > + dev_name(&ndns->dev))) { >   dev_warn(dev, "could not reserve region %pR\n", > &nsio->res); >   return -EBUSY; >   } > diff --git a/drivers/nvdimm/claim.c b/drivers/nvdimm/claim.c > index 8d66fbb779ed..4638b9ea5229 100644 > --- a/drivers/nvdimm/claim.c > +++ b/drivers/nvdimm/claim.c > @@ -275,7 +275,7 @@ int devm_nsio_enable(struct device *dev, struct > nd_namespace_io *nsio) >   >   nsio->size = resource_size(res); >   if (!devm_request_mem_region(dev, res->start, > resource_size(res), > - dev_name(dev))) { > + dev_name(&ndns->dev))) { >   dev_warn(dev, "could not reserve region %pR\n", > res); >   return -EBUSY; >   } > diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c > index 42b3a8217073..34f16a17c07b 100644 > --- a/drivers/nvdimm/pmem.c > +++ b/drivers/nvdimm/pmem.c > @@ -266,7 +266,7 @@ static int pmem_attach_disk(struct device *dev, >   dev_warn(dev, "unable to guarantee persistence of > writes\n"); >   >   if (!devm_request_mem_region(dev, res->start, > resource_size(res), > - dev_name(dev))) { > + dev_name(&ndns->dev))) { >   dev_warn(dev, "could not reserve region %pR\n", > res); >   return -EBUSY; >   } >