mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
rhashtable: Remove GFP flag from rhashtable_walk_init
The commit 8f6fd83c6c
("rhashtable:
accept GFP flags in rhashtable_walk_init") added a GFP flag argument
to rhashtable_walk_init because some users wish to use the walker
in an unsleepable context.
In fact we don't need to allocate memory in rhashtable_walk_init
at all. The walker is always paired with an iterator so we could
just stash ourselves there.
This patch does that by introducing a new enter function to replace
the existing init function. This way we don't have to churn all
the existing users again.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
363dc396a5
commit
246779dd09
@@ -173,7 +173,7 @@ struct rhashtable_walker {
|
||||
struct rhashtable_iter {
|
||||
struct rhashtable *ht;
|
||||
struct rhash_head *p;
|
||||
struct rhashtable_walker *walker;
|
||||
struct rhashtable_walker walker;
|
||||
unsigned int slot;
|
||||
unsigned int skip;
|
||||
};
|
||||
@@ -346,8 +346,8 @@ struct bucket_table *rhashtable_insert_slow(struct rhashtable *ht,
|
||||
struct bucket_table *old_tbl);
|
||||
int rhashtable_insert_rehash(struct rhashtable *ht, struct bucket_table *tbl);
|
||||
|
||||
int rhashtable_walk_init(struct rhashtable *ht, struct rhashtable_iter *iter,
|
||||
gfp_t gfp);
|
||||
void rhashtable_walk_enter(struct rhashtable *ht,
|
||||
struct rhashtable_iter *iter);
|
||||
void rhashtable_walk_exit(struct rhashtable_iter *iter);
|
||||
int rhashtable_walk_start(struct rhashtable_iter *iter) __acquires(RCU);
|
||||
void *rhashtable_walk_next(struct rhashtable_iter *iter);
|
||||
@@ -906,4 +906,12 @@ static inline int rhashtable_replace_fast(
|
||||
return err;
|
||||
}
|
||||
|
||||
/* Obsolete function, do not use in new code. */
|
||||
static inline int rhashtable_walk_init(struct rhashtable *ht,
|
||||
struct rhashtable_iter *iter, gfp_t gfp)
|
||||
{
|
||||
rhashtable_walk_enter(ht, iter);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* _LINUX_RHASHTABLE_H */
|
||||
|
Reference in New Issue
Block a user