diff mbox

[ndctl] ndctl, list: display named devices by default

Message ID 146421880119.1718.16999953314573964681.stgit@dwillia2-desk3.amr.corp.intel.com (mailing list archive)
State Accepted
Commit 59668750018d
Headers show

Commit Message

Dan Williams May 25, 2016, 11:26 p.m. UTC
Instead of being silent when no list options are specified, default to
list the device if it is the only parameter specified.  For example,
before:

    # ndctl list -d nmem0
    #

...after:

    # ndctl list -d nmem0
    {
      "dev":"nmem0",
      "id":"cdab-ffffffff"
    }
    #

...in other words omit the need for --dimms to be specified for this
case.

Reported-by: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
 ndctl/builtin-list.c |   17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

Comments

Verma, Vishal L May 25, 2016, 11:42 p.m. UTC | #1
On Wed, 2016-05-25 at 16:26 -0700, Dan Williams wrote:
> Instead of being silent when no list options are specified, default to

> list the device if it is the only parameter specified.  For example,

> before:

> 

>     # ndctl list -d nmem0

>     #

> 

> ...after:

> 

>     # ndctl list -d nmem0

>     {

>       "dev":"nmem0",

>       "id":"cdab-ffffffff"

>     }

>     #

> 

> ...in other words omit the need for --dimms to be specified for this

> case.

> 

> Reported-by: Vishal Verma <vishal.l.verma@intel.com>

> Signed-off-by: Dan Williams <dan.j.williams@intel.com>

> ---

>  ndctl/builtin-list.c |   17 ++++++++++++++---

>  1 file changed, 14 insertions(+), 3 deletions(-)


Looks good!
Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
diff mbox

Patch

diff --git a/ndctl/builtin-list.c b/ndctl/builtin-list.c
index 2080337252c8..5c5dc5a5db5b 100644
--- a/ndctl/builtin-list.c
+++ b/ndctl/builtin-list.c
@@ -179,6 +179,11 @@  static struct json_object *region_to_json(struct ndctl_region *region)
 	return NULL;
 }
 
+static int num_list_flags(void)
+{
+	return list.buses + list.dimms + list.regions + list.namespaces;
+}
+
 int cmd_list(int argc, const char **argv)
 {
 	const struct option options[] = {
@@ -212,9 +217,6 @@  int cmd_list(int argc, const char **argv)
 	unsigned int type = 0;
 	int i, rc;
 
-	if (argc == 1)
-		list.namespaces = true;
-
         argc = parse_options(argc, argv, options, u, 0);
 	for (i = 0; i < argc; i++)
 		error("unknown parameter \"%s\"\n", argv[i]);
@@ -228,6 +230,15 @@  int cmd_list(int argc, const char **argv)
 	if (argc)
 		usage_with_options(u, options);
 
+	if (num_list_flags() == 0) {
+		list.buses = !!param.bus;
+		list.regions = !!param.region;
+		list.dimms = !!param.dimm;
+	}
+
+	if (num_list_flags() == 0)
+		list.namespaces = true;
+
 	if (param.type) {
 		if (strcmp(param.type, "pmem") == 0)
 			type = ND_DEVICE_REGION_PMEM;