All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
To: Dan Williams <dan.j.williams@intel.com>, linux-nvdimm@lists.01.org
Cc: peterz@infradead.org, dave.hansen@linux.intel.com,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCH 11/16] libnvdimm: Simplify root read-only definition for the 'resource' attribute
Date: Tue, 12 Nov 2019 17:20:26 +0530	[thread overview]
Message-ID: <87ftits48t.fsf@linux.ibm.com> (raw)
In-Reply-To: <157309905534.1582359.13927459228885931097.stgit@dwillia2-desk3.amr.corp.intel.com>

Dan Williams <dan.j.williams@intel.com> writes:

> Rather than update the permission in ->is_visible() set the permission
> directly at declaration time.
>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>

> Cc: Ira Weiny <ira.weiny@intel.com>
> Cc: Vishal Verma <vishal.l.verma@intel.com>
> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
> ---
>  drivers/nvdimm/namespace_devs.c |    9 +++------
>  drivers/nvdimm/pfn_devs.c       |   10 +---------
>  drivers/nvdimm/region_devs.c    |   10 +++-------
>  3 files changed, 7 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c
> index 37471a272c1a..85b553094d19 100644
> --- a/drivers/nvdimm/namespace_devs.c
> +++ b/drivers/nvdimm/namespace_devs.c
> @@ -1303,7 +1303,7 @@ static ssize_t resource_show(struct device *dev,
>  		return -ENXIO;
>  	return sprintf(buf, "%#llx\n", (unsigned long long) res->start);
>  }
> -static DEVICE_ATTR_RO(resource);
> +static DEVICE_ATTR(resource, 0400, resource_show, NULL);
>  
>  static const unsigned long blk_lbasize_supported[] = { 512, 520, 528,
>  	4096, 4104, 4160, 4224, 0 };
> @@ -1619,11 +1619,8 @@ static umode_t namespace_visible(struct kobject *kobj,
>  {
>  	struct device *dev = container_of(kobj, struct device, kobj);
>  
> -	if (a == &dev_attr_resource.attr) {
> -		if (is_namespace_blk(dev))
> -			return 0;
> -		return 0400;
> -	}
> +	if (a == &dev_attr_resource.attr && is_namespace_blk(dev))
> +		return 0;
>  
>  	if (is_namespace_pmem(dev) || is_namespace_blk(dev)) {
>  		if (a == &dev_attr_size.attr)
> diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c
> index e809961e2b6f..9f9cb51301e7 100644
> --- a/drivers/nvdimm/pfn_devs.c
> +++ b/drivers/nvdimm/pfn_devs.c
> @@ -218,7 +218,7 @@ static ssize_t resource_show(struct device *dev,
>  
>  	return rc;
>  }
> -static DEVICE_ATTR_RO(resource);
> +static DEVICE_ATTR(resource, 0400, resource_show, NULL);
>  
>  static ssize_t size_show(struct device *dev,
>  		struct device_attribute *attr, char *buf)
> @@ -269,16 +269,8 @@ static struct attribute *nd_pfn_attributes[] = {
>  	NULL,
>  };
>  
> -static umode_t pfn_visible(struct kobject *kobj, struct attribute *a, int n)
> -{
> -	if (a == &dev_attr_resource.attr)
> -		return 0400;
> -	return a->mode;
> -}
> -
>  static struct attribute_group nd_pfn_attribute_group = {
>  	.attrs = nd_pfn_attributes,
> -	.is_visible = pfn_visible,
>  };
>  
>  const struct attribute_group *nd_pfn_attribute_groups[] = {
> diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c
> index 0afc1973e938..be3e429e86af 100644
> --- a/drivers/nvdimm/region_devs.c
> +++ b/drivers/nvdimm/region_devs.c
> @@ -553,7 +553,7 @@ static ssize_t resource_show(struct device *dev,
>  
>  	return sprintf(buf, "%#llx\n", nd_region->ndr_start);
>  }
> -static DEVICE_ATTR_RO(resource);
> +static DEVICE_ATTR(resource, 0400, resource_show, NULL);
>  
>  static ssize_t persistence_domain_show(struct device *dev,
>  		struct device_attribute *attr, char *buf)
> @@ -605,12 +605,8 @@ static umode_t region_visible(struct kobject *kobj, struct attribute *a, int n)
>  	if (!is_memory(dev) && a == &dev_attr_badblocks.attr)
>  		return 0;
>  
> -	if (a == &dev_attr_resource.attr) {
> -		if (is_memory(dev))
> -			return 0400;
> -		else
> -			return 0;
> -	}
> +	if (a == &dev_attr_resource.attr && !is_memory(dev))
> +		return 0;
>  
>  	if (a == &dev_attr_deep_flush.attr) {
>  		int has_flush = nvdimm_has_flush(nd_region);
> _______________________________________________
> Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
> To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org

WARNING: multiple messages have this Message-ID (diff)
From: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
To: Dan Williams <dan.j.williams@intel.com>, linux-nvdimm@lists.01.org
Cc: peterz@infradead.org, dave.hansen@linux.intel.com,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCH 11/16] libnvdimm: Simplify root read-only definition for the 'resource' attribute
Date: Tue, 12 Nov 2019 17:20:26 +0530	[thread overview]
Message-ID: <87ftits48t.fsf@linux.ibm.com> (raw)
In-Reply-To: <157309905534.1582359.13927459228885931097.stgit@dwillia2-desk3.amr.corp.intel.com>

Dan Williams <dan.j.williams@intel.com> writes:

> Rather than update the permission in ->is_visible() set the permission
> directly at declaration time.
>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>

> Cc: Ira Weiny <ira.weiny@intel.com>
> Cc: Vishal Verma <vishal.l.verma@intel.com>
> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
> ---
>  drivers/nvdimm/namespace_devs.c |    9 +++------
>  drivers/nvdimm/pfn_devs.c       |   10 +---------
>  drivers/nvdimm/region_devs.c    |   10 +++-------
>  3 files changed, 7 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c
> index 37471a272c1a..85b553094d19 100644
> --- a/drivers/nvdimm/namespace_devs.c
> +++ b/drivers/nvdimm/namespace_devs.c
> @@ -1303,7 +1303,7 @@ static ssize_t resource_show(struct device *dev,
>  		return -ENXIO;
>  	return sprintf(buf, "%#llx\n", (unsigned long long) res->start);
>  }
> -static DEVICE_ATTR_RO(resource);
> +static DEVICE_ATTR(resource, 0400, resource_show, NULL);
>  
>  static const unsigned long blk_lbasize_supported[] = { 512, 520, 528,
>  	4096, 4104, 4160, 4224, 0 };
> @@ -1619,11 +1619,8 @@ static umode_t namespace_visible(struct kobject *kobj,
>  {
>  	struct device *dev = container_of(kobj, struct device, kobj);
>  
> -	if (a == &dev_attr_resource.attr) {
> -		if (is_namespace_blk(dev))
> -			return 0;
> -		return 0400;
> -	}
> +	if (a == &dev_attr_resource.attr && is_namespace_blk(dev))
> +		return 0;
>  
>  	if (is_namespace_pmem(dev) || is_namespace_blk(dev)) {
>  		if (a == &dev_attr_size.attr)
> diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c
> index e809961e2b6f..9f9cb51301e7 100644
> --- a/drivers/nvdimm/pfn_devs.c
> +++ b/drivers/nvdimm/pfn_devs.c
> @@ -218,7 +218,7 @@ static ssize_t resource_show(struct device *dev,
>  
>  	return rc;
>  }
> -static DEVICE_ATTR_RO(resource);
> +static DEVICE_ATTR(resource, 0400, resource_show, NULL);
>  
>  static ssize_t size_show(struct device *dev,
>  		struct device_attribute *attr, char *buf)
> @@ -269,16 +269,8 @@ static struct attribute *nd_pfn_attributes[] = {
>  	NULL,
>  };
>  
> -static umode_t pfn_visible(struct kobject *kobj, struct attribute *a, int n)
> -{
> -	if (a == &dev_attr_resource.attr)
> -		return 0400;
> -	return a->mode;
> -}
> -
>  static struct attribute_group nd_pfn_attribute_group = {
>  	.attrs = nd_pfn_attributes,
> -	.is_visible = pfn_visible,
>  };
>  
>  const struct attribute_group *nd_pfn_attribute_groups[] = {
> diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c
> index 0afc1973e938..be3e429e86af 100644
> --- a/drivers/nvdimm/region_devs.c
> +++ b/drivers/nvdimm/region_devs.c
> @@ -553,7 +553,7 @@ static ssize_t resource_show(struct device *dev,
>  
>  	return sprintf(buf, "%#llx\n", nd_region->ndr_start);
>  }
> -static DEVICE_ATTR_RO(resource);
> +static DEVICE_ATTR(resource, 0400, resource_show, NULL);
>  
>  static ssize_t persistence_domain_show(struct device *dev,
>  		struct device_attribute *attr, char *buf)
> @@ -605,12 +605,8 @@ static umode_t region_visible(struct kobject *kobj, struct attribute *a, int n)
>  	if (!is_memory(dev) && a == &dev_attr_badblocks.attr)
>  		return 0;
>  
> -	if (a == &dev_attr_resource.attr) {
> -		if (is_memory(dev))
> -			return 0400;
> -		else
> -			return 0;
> -	}
> +	if (a == &dev_attr_resource.attr && !is_memory(dev))
> +		return 0;
>  
>  	if (a == &dev_attr_deep_flush.attr) {
>  		int has_flush = nvdimm_has_flush(nd_region);
> _______________________________________________
> Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
> To unsubscribe send an email to linux-nvdimm-leave@lists.01.org


  reply	other threads:[~2019-11-12 11:51 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-07  3:56 [PATCH 00/16] Memory Hierarchy: Enable target node lookups for reserved memory Dan Williams
2019-11-07  3:56 ` Dan Williams
2019-11-07  3:56 ` [PATCH 01/16] libnvdimm: Move attribute groups to device type Dan Williams
2019-11-07  3:56   ` Dan Williams
2019-11-12 11:28   ` Aneesh Kumar K.V
2019-11-12 11:28     ` Aneesh Kumar K.V
2019-11-07  3:56 ` [PATCH 02/16] libnvdimm: Move region attribute group definition Dan Williams
2019-11-07  3:56   ` Dan Williams
2019-11-12 11:29   ` Aneesh Kumar K.V
2019-11-12 11:29     ` Aneesh Kumar K.V
2019-11-07  3:56 ` [PATCH 03/16] libnvdimm: Move nd_device_attribute_group to device_type Dan Williams
2019-11-07  3:56   ` Dan Williams
2019-11-12 11:30   ` Aneesh Kumar K.V
2019-11-12 11:30     ` Aneesh Kumar K.V
2019-11-07  3:56 ` [PATCH 04/16] libnvdimm: Move nd_numa_attribute_group " Dan Williams
2019-11-07  3:56   ` Dan Williams
2019-11-12  9:22   ` Aneesh Kumar K.V
2019-11-12  9:22     ` Aneesh Kumar K.V
2019-11-13  1:26     ` Dan Williams
2019-11-13  1:26       ` Dan Williams
2019-11-13  6:02       ` Aneesh Kumar K.V
2019-11-13  6:02         ` Aneesh Kumar K.V
2019-11-13  6:14         ` Dan Williams
2019-11-13  6:14           ` Dan Williams
2019-11-07  3:57 ` [PATCH 05/16] libnvdimm: Move nd_region_attribute_group " Dan Williams
2019-11-07  3:57   ` Dan Williams
2019-11-12 11:45   ` Aneesh Kumar K.V
2019-11-12 11:45     ` Aneesh Kumar K.V
2019-11-07  3:57 ` [PATCH 06/16] libnvdimm: Move nd_mapping_attribute_group " Dan Williams
2019-11-07  3:57   ` Dan Williams
2019-11-12 11:45   ` Aneesh Kumar K.V
2019-11-12 11:45     ` Aneesh Kumar K.V
2019-11-07  3:57 ` [PATCH 07/16] libnvdimm: Move nvdimm_attribute_group " Dan Williams
2019-11-07  3:57   ` Dan Williams
2019-11-12 11:48   ` Aneesh Kumar K.V
2019-11-12 11:48     ` Aneesh Kumar K.V
2019-11-07  3:57 ` [PATCH 08/16] libnvdimm: Move nvdimm_bus_attribute_group " Dan Williams
2019-11-07  3:57   ` Dan Williams
2019-11-12 11:48   ` Aneesh Kumar K.V
2019-11-12 11:48     ` Aneesh Kumar K.V
2019-11-07  3:57 ` [PATCH 09/16] dax: Create a dax device_type Dan Williams
2019-11-07  3:57   ` Dan Williams
2019-11-12 11:49   ` Aneesh Kumar K.V
2019-11-12 11:49     ` Aneesh Kumar K.V
2019-11-07  3:57 ` [PATCH 10/16] dax: Simplify root read-only definition for the 'resource' attribute Dan Williams
2019-11-07  3:57   ` Dan Williams
2019-11-12 11:49   ` Aneesh Kumar K.V
2019-11-12 11:49     ` Aneesh Kumar K.V
2019-11-07  3:57 ` [PATCH 11/16] libnvdimm: " Dan Williams
2019-11-07  3:57   ` Dan Williams
2019-11-12 11:50   ` Aneesh Kumar K.V [this message]
2019-11-12 11:50     ` Aneesh Kumar K.V
2019-11-07  3:57 ` [PATCH 12/16] dax: Add numa_node to the default device-dax attributes Dan Williams
2019-11-07  3:57   ` Dan Williams
2019-11-12 11:50   ` Aneesh Kumar K.V
2019-11-12 11:50     ` Aneesh Kumar K.V
2019-11-07  3:57 ` [PATCH 13/16] acpi/mm: Up-level "map to online node" functionality Dan Williams
2019-11-07  3:57   ` Dan Williams
2019-11-11 11:30   ` Aneesh Kumar K.V
2019-11-11 11:30     ` Aneesh Kumar K.V
2019-11-11 23:38     ` Dan Williams
2019-11-11 23:38       ` Dan Williams
2019-11-07  3:57 ` [PATCH 14/16] x86/numa: Provide a range-to-target_node lookup facility Dan Williams
2019-11-07  3:57   ` Dan Williams
2019-11-07  3:57 ` [PATCH 15/16] libnvdimm/e820: Drop the wrapper around memory_add_physaddr_to_nid Dan Williams
2019-11-07  3:57   ` Dan Williams
2019-11-07  3:58 ` [PATCH 16/16] libnvdimm/e820: Retrieve and populate correct 'target_node' info Dan Williams
2019-11-07  3:58   ` Dan Williams
2019-11-09  5:02   ` kbuild test robot
2019-11-09  5:02     ` kbuild test robot
2019-11-09  5:02     ` kbuild test robot
2019-11-12 11:42 ` [PATCH 00/16] Memory Hierarchy: Enable target node lookups for reserved memory Aneesh Kumar K.V
2019-11-12 11:42   ` Aneesh Kumar K.V
2019-11-12 19:37   ` Dan Williams
2019-11-12 19:37     ` Dan Williams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ftits48t.fsf@linux.ibm.com \
    --to=aneesh.kumar@linux.ibm.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.