Re: [PATCH 10/18] rhashtable: remove rhashtable_walk_peek()

From: NeilBrown
Date: Sun Jun 03 2018 - 20:31:12 EST


On Sat, Jun 02 2018, Herbert Xu wrote:

> On Fri, Jun 01, 2018 at 02:44:09PM +1000, NeilBrown wrote:
>> This function has a somewhat confused behavior that is not properly
>> described by the documentation.
>> Sometimes is returns the previous object, sometimes it returns the
>> next one.
>> Sometimes it changes the iterator, sometimes it doesn't.
>>
>> This function is not currently used and is not worth keeping, so
>> remove it.
>>
>> A future patch will introduce a new function with a
>> simpler interface which can meet the same need that
>> this was added for.
>>
>> Signed-off-by: NeilBrown <neilb@xxxxxxxx>
>
> Please keep Tom Herbert in the loop. IIRC he had an issue with
> this patch.

Yes you are right - sorry for forgetting to add Tom.

My understanding of where this issue stands is that Tom raised issue and
asked for clarification, I replied, nothing further happened.

It summary, my position is that:
- most users of my new rhashtable_walk_prev() will use it like
rhasthable_talk_prev() ?: rhashtable_walk_next()
which is close to what rhashtable_walk_peek() does
- I know of no use-case that could not be solved if we only had
the combined operation
- BUT it is hard to document the combined operation, as it really
does two things. If it is hard to document, then it might be
hard to understand.

So provide the most understandable/maintainable solution, I think
we should provide rhashtable_walk_prev() as a separate interface.

Thanks,
NeilBronw

Attachment: signature.asc
Description: PGP signature