On Wed, Feb 19, 2020 at 10:12 AM Jeff Moyer <jmo...@redhat.com> wrote: > > Dan Williams <dan.j.willi...@intel.com> writes: > > > On Wed, Feb 19, 2020 at 9:56 AM Jeff Moyer <jmo...@redhat.com> wrote: > >> > >> Dan Williams <dan.j.willi...@intel.com> writes: > >> > >> > The only expected difference between "ndctl list -R" and "ndctl list > >> > -Rv" is some additional output fields. Instead it currently results in > >> > the region array being contained in a named "regions" list object. > >> > > >> > # ndctl list -R -r 0 > >> > [ > >> > { > >> > "dev":"region0", > >> > "size":4294967296, > >> > "available_size":0, > >> > "max_available_extent":0, > >> > "type":"pmem", > >> > "persistence_domain":"unknown" > >> > } > >> > ] > >> > > >> > # ndctl list -Rv -r 0 > >> > { > >> > "regions":[ > >> > { > >> > "dev":"region0", > >> > "size":4294967296, > >> > "available_size":0, > >> > "max_available_extent":0, > >> > "type":"pmem", > >> > "numa_node":0, > >> > "target_node":2, > >> > "persistence_domain":"unknown", > >> > "namespaces":[ > >> > { > >> > "dev":"namespace0.0", > >> > "mode":"fsdax", > >> > "map":"mem", > >> > "size":4294967296, > >> > "sector_size":512, > >> > "blockdev":"pmem0", > >> > "numa_node":0, > >> > "target_node":2 > >> > } > >> > ] > >> > } > >> > ] > >> > } > >> > > >> > Drop the named list, by not including namespaces in the listing. Extra > >> > objects only appear at the -vv level. "ndctl list -v" and "ndctl list > >> > -Nv" are synonyms and behave as expected. > >> > > >> > # ndctl list -Rv -r 0 > >> > [ > >> > { > >> > "dev":"region0", > >> > "size":4294967296, > >> > "available_size":0, > >> > "max_available_extent":0, > >> > "type":"pmem", > >> > "numa_node":0, > >> > "target_node":2, > >> > "persistence_domain":"unknown" > >> > } > >> > ] > >> > > >> > >> Will this break existing code that parses the javascript output? > > > > Always a potential for that. That said, I'd rather attempt to make it > > symmetric and replace it if someone screams, rather than let this > > quirk persist because it makes it impossible to ingest region data > > with the same script across -R and -Rv. > > Yeah, I see where you're coming from. However, script authors will > still have to deal with older versions of ndctl in the wild (for many > years). If the decision was up to me, I'd live with the wart in favor > of not breaking scripts when ndctl gets updated. Users hate that.
Let's do a compromise, because users also hate nonsensical legacy that they can't avoid. How about an environment variable, "NDCTL_LIST_LINT", that users can set to opt into the latest / cleanest output format with the understanding that the clean up may regress scripts that were dependent on the old bugs. _______________________________________________ Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org To unsubscribe send an email to linux-nvdimm-le...@lists.01.org