Message ID | 146421880119.1718.16999953314573964681.stgit@dwillia2-desk3.amr.corp.intel.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 59668750018d |
Headers | show |
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 --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;
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(-)