On Thu, Nov 30, 2017 at 04:03:01PM -0800, Tom Herbert wrote: > Remove the code that resets the walker table. The walker table should > only be initialized in the walk init function or when a future table is > encountered. If the walker table is NULL this is the indication that > the walk has completed and this information can be used to break a > multi-call walk in the table (e.g. successive calls to nelink_dump > that are dumping elements of an rhashtable). > > This also allows us to change rhashtable_walk_start to return void > since the only error it was returning was -EAGAIN for a table change. > This patch changes all the callers of rhashtable_walk_start to expect > void which eliminates logic needed to check the return value for a > rare condition. Note that -EAGAIN will be returned in a call > to rhashtable_walk_next which seems to always follow the start > of the walk so there should be no behavioral change in doing this. > > Signed-off-by: Tom Herbert <t...@quantonium.net>
Doesn't this mean that if a walk encounters a rehash you may end up missing half or more of the hash table? Cheers, -- Email: Herbert Xu <herb...@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt