On Fri, May 11, 2018 at 12:52 PM, Dave Jiang <[email protected]> wrote: > > > On 05/09/2018 04:26 PM, Dan Williams wrote: >> On Wed, May 9, 2018 at 4:24 PM, Dave Jiang <[email protected]> wrote: >>> >>> >>> On 05/09/2018 04:23 PM, Dan Williams wrote: >>>> On Wed, May 9, 2018 at 4:17 PM, Verma, Vishal L >>>> <[email protected]> wrote: >>>>> On Fri, 2018-04-27 at 15:08 -0700, Dave Jiang wrote: >>>>>> util_filter_walk() does the looping through of busses and regions. >>>>>> Removing >>>>>> duplicate code in region ops and provide filter functions so we can >>>>>> utilize util_filter_walk() and share common code. >>>>>> >>>>>> Signed-off-by: Dave Jiang <[email protected]> >>>>>> --- >>>>>> ndctl/region.c | 59 ++++++++++++++++++++++++++++++++++-------------- >>>>>> -------- >>>>>> util/filter.h | 6 ++++++ >>>>>> 2 files changed, 42 insertions(+), 23 deletions(-) >>>>>> >>>>>> diff --git a/ndctl/region.c b/ndctl/region.c >>>>>> index 9fc90808..9fd07af6 100644 >>>>>> --- a/ndctl/region.c >>>>>> +++ b/ndctl/region.c >>>>>> @@ -19,10 +19,7 @@ >>>>>> #include <util/parse-options.h> >>>>>> #include <ndctl/libndctl.h> >>>>>> >>>>>> -static struct { >>>>>> - const char *bus; >>>>>> - const char *type; >>>>>> -} param; >>>>>> +struct util_filter_params param; >>>>>> >>>>>> static const struct option region_options[] = { >>>>>> OPT_STRING('b', "bus", ¶m.bus, "bus-id", >>>>>> @@ -92,33 +89,49 @@ static int region_action(struct ndctl_region *region, >>>>>> enum device_action mode) >>>>>> return 0; >>>>>> } >>>>>> >>>>>> +static bool filter_bus(struct ndctl_bus *bus, struct util_filter_ctx >>>>>> *ctx) >>>>>> +{ >>>>>> + return true; >>>>>> +} >>>>>> + >>>>> >>>>> Instead of creating these trivial functions everywhere (also applies to >>>>> namespaces.c, dimm.c), should we just leave fctx.bus_filter NULL. And fix >>>>> util_filter_walk to check for fctx->ptr != NULL any time it calls one of >>>>> the functions.. >>>> >>>> I think I'd prefer a common nop routine. That way individual are >>>> forced to decide to use the nop or implement something. Leaving it >>>> NULL may just be a programming mistake. I.e. it's harder to get wrong >>>> if it's required. >>>> >>> >>> I'll add a common nop routine. >> >> ...but wait why would it be a nop in this case. Region action commands >> take a --bus= option? >> > > It just passes through by return true because it doesn't do anything to > do the bus? The util_bus_filter() call before it filters appropriate bus > right?
Ah true, sorry, I confused myself on when the filter should return false. _______________________________________________ Linux-nvdimm mailing list [email protected] https://lists.01.org/mailman/listinfo/linux-nvdimm
