Commit f5c8593b authored by Stanislav Kinsbursky's avatar Stanislav Kinsbursky Committed by J. Bruce Fields

NFSd: use network-namespace-aware cache registering routines

v2: cache_register_net() and cache_unregister_net() GPL exports added

This is a cleanup patch. Hope, some day generic cache_register() and
cache_unregister() will be removed.
Signed-off-by: default avatarStanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent bd4620dd
...@@ -1226,12 +1226,12 @@ nfsd_export_init(void) ...@@ -1226,12 +1226,12 @@ nfsd_export_init(void)
int rv; int rv;
dprintk("nfsd: initializing export module.\n"); dprintk("nfsd: initializing export module.\n");
rv = cache_register(&svc_export_cache); rv = cache_register_net(&svc_export_cache, &init_net);
if (rv) if (rv)
return rv; return rv;
rv = cache_register(&svc_expkey_cache); rv = cache_register_net(&svc_expkey_cache, &init_net);
if (rv) if (rv)
cache_unregister(&svc_export_cache); cache_unregister_net(&svc_export_cache, &init_net);
return rv; return rv;
} }
...@@ -1255,8 +1255,8 @@ nfsd_export_shutdown(void) ...@@ -1255,8 +1255,8 @@ nfsd_export_shutdown(void)
dprintk("nfsd: shutting down export module.\n"); dprintk("nfsd: shutting down export module.\n");
cache_unregister(&svc_expkey_cache); cache_unregister_net(&svc_expkey_cache, &init_net);
cache_unregister(&svc_export_cache); cache_unregister_net(&svc_export_cache, &init_net);
svcauth_unix_purge(); svcauth_unix_purge();
dprintk("nfsd: export shutdown complete.\n"); dprintk("nfsd: export shutdown complete.\n");
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include <linux/seq_file.h> #include <linux/seq_file.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <net/net_namespace.h>
#include "idmap.h" #include "idmap.h"
#include "nfsd.h" #include "nfsd.h"
...@@ -466,20 +467,20 @@ nfsd_idmap_init(void) ...@@ -466,20 +467,20 @@ nfsd_idmap_init(void)
{ {
int rv; int rv;
rv = cache_register(&idtoname_cache); rv = cache_register_net(&idtoname_cache, &init_net);
if (rv) if (rv)
return rv; return rv;
rv = cache_register(&nametoid_cache); rv = cache_register_net(&nametoid_cache, &init_net);
if (rv) if (rv)
cache_unregister(&idtoname_cache); cache_unregister_net(&idtoname_cache, &init_net);
return rv; return rv;
} }
void void
nfsd_idmap_shutdown(void) nfsd_idmap_shutdown(void)
{ {
cache_unregister(&idtoname_cache); cache_unregister_net(&idtoname_cache, &init_net);
cache_unregister(&nametoid_cache); cache_unregister_net(&nametoid_cache, &init_net);
} }
static int static int
......
...@@ -1641,6 +1641,7 @@ int cache_register_net(struct cache_detail *cd, struct net *net) ...@@ -1641,6 +1641,7 @@ int cache_register_net(struct cache_detail *cd, struct net *net)
sunrpc_destroy_cache_detail(cd); sunrpc_destroy_cache_detail(cd);
return ret; return ret;
} }
EXPORT_SYMBOL_GPL(cache_register_net);
int cache_register(struct cache_detail *cd) int cache_register(struct cache_detail *cd)
{ {
...@@ -1653,6 +1654,7 @@ void cache_unregister_net(struct cache_detail *cd, struct net *net) ...@@ -1653,6 +1654,7 @@ void cache_unregister_net(struct cache_detail *cd, struct net *net)
remove_cache_proc_entries(cd, net); remove_cache_proc_entries(cd, net);
sunrpc_destroy_cache_detail(cd); sunrpc_destroy_cache_detail(cd);
} }
EXPORT_SYMBOL_GPL(cache_unregister_net);
void cache_unregister(struct cache_detail *cd) void cache_unregister(struct cache_detail *cd)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment