diff options
author | Stanislav Kinsbursky <skinsbursky@parallels.com> | 2012-04-11 07:13:28 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2012-04-12 09:11:46 -0400 |
commit | e5f06f720eff24e32f1cc08ec03bcc8c4b2d2934 (patch) | |
tree | 9afeda20ea7ea07f6c1bbcc9dc5979c98cc62def /net/sunrpc | |
parent | b3853e0ea1f2ef58f7e7c03e47819e2ae3766dea (diff) |
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')
-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, | |||
346 | return __ip_map_update(sn->ip_map_cache, ipm, udom, expiry); | 346 | return __ip_map_update(sn->ip_map_cache, ipm, udom, expiry); |
347 | } | 347 | } |
348 | 348 | ||
349 | 349 | void svcauth_unix_purge(struct net *net) | |
350 | void svcauth_unix_purge(void) | ||
351 | { | 350 | { |
352 | struct net *net; | 351 | struct sunrpc_net *sn; |
353 | |||
354 | for_each_net(net) { | ||
355 | struct sunrpc_net *sn; | ||
356 | 352 | ||
357 | sn = net_generic(net, sunrpc_net_id); | 353 | sn = net_generic(net, sunrpc_net_id); |
358 | cache_purge(sn->ip_map_cache); | 354 | cache_purge(sn->ip_map_cache); |
359 | } | ||
360 | } | 355 | } |
361 | EXPORT_SYMBOL_GPL(svcauth_unix_purge); | 356 | EXPORT_SYMBOL_GPL(svcauth_unix_purge); |
362 | 357 | ||