diff options
author | Stanislav Kinsbursky <skinsbursky@parallels.com> | 2012-04-11 15:13:28 +0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2012-04-12 17:11:46 +0400 |
commit | e5f06f720eff24e32f1cc08ec03bcc8c4b2d2934 (patch) | |
tree | 9afeda20ea7ea07f6c1bbcc9dc5979c98cc62def /net/sunrpc/svcauth_unix.c | |
parent | b3853e0ea1f2ef58f7e7c03e47819e2ae3766dea (diff) | |
download | linux-e5f06f720eff24e32f1cc08ec03bcc8c4b2d2934.tar.xz |
nfsd: make expkey cache allocated per network namespace context
This patch also changes svcauth_unix_purge() function: added network namespace
as a parameter and thus loop over all networks was replaced by only one call
for ip map cache purge.
Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'net/sunrpc/svcauth_unix.c')
-rw-r--r-- | net/sunrpc/svcauth_unix.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/net/sunrpc/svcauth_unix.c b/net/sunrpc/svcauth_unix.c index 521d8f7dc833..9c3b9f014468 100644 --- a/net/sunrpc/svcauth_unix.c +++ b/net/sunrpc/svcauth_unix.c @@ -346,17 +346,12 @@ static inline int ip_map_update(struct net *net, struct ip_map *ipm, return __ip_map_update(sn->ip_map_cache, ipm, udom, expiry); } - -void svcauth_unix_purge(void) +void svcauth_unix_purge(struct net *net) { - struct net *net; - - for_each_net(net) { - struct sunrpc_net *sn; + struct sunrpc_net *sn; - sn = net_generic(net, sunrpc_net_id); - cache_purge(sn->ip_map_cache); - } + sn = net_generic(net, sunrpc_net_id); + cache_purge(sn->ip_map_cache); } EXPORT_SYMBOL_GPL(svcauth_unix_purge); |