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", &param.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

Reply via email to