NFSd: use network-namespace-aware cache registering routines
Subsystems (3)
PATCH v2 1/1 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 Stanislav Kinsbursky <[email protected]>
--- fs/nfsd/export.c | 10 +++++----- fs/nfsd/nfs4idmap.c | 11 ++++++----- net/sunrpc/cache.c | 2 ++ 3 files changed, 13 insertions(+), 10 deletions(-)
fs/nfsd/export.c +5 -5
@@ -1226,12 +1226,12 @@ nfsd_export_init(void)int rv;dprintk ("nfsd: initializing export module.\n" ); - rv =cache_register (&svc_export_cache); + rv =cache_register_net (&svc_export_cache, &init_net);if (rv)return rv; - rv =cache_register (&svc_expkey_cache); + rv =cache_register_net (&svc_expkey_cache, &init_net);if (rv) -cache_unregister (&svc_export_cache); +cache_unregister_net (&svc_export_cache, &init_net);return rv; }
@@ -1255,8 +1255,8 @@ nfsd_export_shutdown(void)dprintk ("nfsd: shutting down export module.\n" ); -cache_unregister (&svc_expkey_cache); -cache_unregister (&svc_export_cache); +cache_unregister_net (&svc_expkey_cache, &init_net); +cache_unregister_net (&svc_export_cache, &init_net);svcauth_unix_purge ();dprintk ("nfsd: export shutdown complete.\n" );
fs/nfsd/nfs4idmap.c +6 -5
@@ -36,6 +36,7 @@#include <linux/seq_file.h> #include <linux/sched.h> #include <linux/slab.h> +#include <net/net_namespace.h> #include "idmap.h" #include "nfsd.h"
@@ -466,20 +467,20 @@ nfsd_idmap_init(void) {int rv; - rv =cache_register (&idtoname_cache); + rv =cache_register_net (&idtoname_cache, &init_net);if (rv)return rv; - rv =cache_register (&nametoid_cache); + rv =cache_register_net (&nametoid_cache, &init_net);if (rv) -cache_unregister (&idtoname_cache); +cache_unregister_net (&idtoname_cache, &init_net);return rv; }void nfsd_idmap_shutdown (void ) { -cache_unregister (&idtoname_cache); -cache_unregister (&nametoid_cache); +cache_unregister_net (&idtoname_cache, &init_net); +cache_unregister_net (&nametoid_cache, &init_net); } static int
net/sunrpc/cache.c +2 -0
@@ -1641,6 +1641,7 @@ int cache_register_net(struct cache_detail *cd, struct net *net)sunrpc_destroy_cache_detail (cd);return ret; } +EXPORT_SYMBOL_GPL (cache_register_net);int cache_register (struct cache_detail *cd) {
@@ -1653,6 +1654,7 @@ void cache_unregister_net(struct cache_detail *cd, struct net *net)remove_cache_proc_entries (cd, net);sunrpc_destroy_cache_detail (cd); } +EXPORT_SYMBOL_GPL (cache_unregister_net);void cache_unregister (struct cache_detail *cd) {
J. Bruce Fields
AppliedThanks, applied.
Quoted 103 lines · Stanislav Kinsbursky
v2:
cache_register_net()andcache_unregister_net()GPL exports addedThis is a cleanup patch. Hope, some day generic
cache_register()andcache_unregister()will be removed.Signed-off-by Stanislav Kinsbursky <[email protected]>--- fs/nfsd/export.c | 10 +++++----- fs/nfsd/nfs4idmap.c | 11 ++++++----- net/sunrpc/cache.c | 2 ++ 3 files changed, 13 insertions(+), 10 deletions(-)fs/nfsd/export.c +5
-5@@ -1226,12 +1226,12 @@ nfsd_export_init(void)int rv;dprintk ("nfsd: initializing export module.\n" ); - rv =cache_register (&svc_export_cache); + rv =cache_register_net (&svc_export_cache, &init_net);if (rv)return rv; - rv =cache_register (&svc_expkey_cache); + rv =cache_register_net (&svc_expkey_cache, &init_net);if (rv) -cache_unregister (&svc_export_cache); +cache_unregister_net (&svc_export_cache, &init_net);return rv; }@@ -1255,8 +1255,8 @@ nfsd_export_shutdown(void)dprintk ("nfsd: shutting down export module.\n" ); -cache_unregister (&svc_expkey_cache); -cache_unregister (&svc_export_cache); +cache_unregister_net (&svc_expkey_cache, &init_net); +cache_unregister_net (&svc_export_cache, &init_net);svcauth_unix_purge ();dprintk ("nfsd: export shutdown complete.\n" );fs/nfsd/nfs4idmap.c +6
-5@@ -36,6 +36,7 @@#include <linux/seq_file.h> #include <linux/sched.h> #include <linux/slab.h> +#include <net/net_namespace.h> #include "idmap.h" #include "nfsd.h" @@ -466,20 +467,20 @@ nfsd_idmap_init(void) {int rv; - rv =cache_register (&idtoname_cache); + rv =cache_register_net (&idtoname_cache, &init_net);if (rv)return rv; - rv =cache_register (&nametoid_cache); + rv =cache_register_net (&nametoid_cache, &init_net);if (rv) -cache_unregister (&idtoname_cache); +cache_unregister_net (&idtoname_cache, &init_net);return rv; }void nfsd_idmap_shutdown (void ) { -cache_unregister (&idtoname_cache); -cache_unregister (&nametoid_cache); +cache_unregister_net (&idtoname_cache, &init_net); +cache_unregister_net (&nametoid_cache, &init_net); } static intnet/sunrpc/cache.c +2
-0@@ -1641,6 +1641,7 @@ int cache_register_net(struct cache_detail *cd, struct net *net)sunrpc_destroy_cache_detail (cd);return ret; } +EXPORT_SYMBOL_GPL (cache_register_net);int cache_register (struct cache_detail *cd) {@@ -1653,6 +1654,7 @@ void cache_unregister_net(struct cache_detail *cd, struct net *net)remove_cache_proc_entries (cd, net);sunrpc_destroy_cache_detail (cd); } +EXPORT_SYMBOL_GPL (cache_unregister_net);void cache_unregister (struct cache_detail *cd) {