aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStanislav Kinsbursky <skinsbursky@parallels.com>2012-04-11 09:32:44 -0400
committerJ. Bruce Fields <bfields@redhat.com>2012-04-12 09:12:10 -0400
commit43ec1a20bfbe1fbf6df6bf5a7b9c88ea090dbfcd (patch)
treeaa0fb40cc8955d358bc9a39444c4ad2cc66d1e9b
parent5717e0128422b96be6aa414fa752ec90c1cd31e9 (diff)
nfsd: pass network context to idmap init/exit functions
These functions will be called from per-net operations. Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
-rw-r--r--fs/nfsd/idmap.h8
-rw-r--r--fs/nfsd/nfs4idmap.c14
-rw-r--r--fs/nfsd/nfsctl.c6
3 files changed, 14 insertions, 14 deletions
diff --git a/fs/nfsd/idmap.h b/fs/nfsd/idmap.h
index 2f3be1321534..9d513efc01ba 100644
--- a/fs/nfsd/idmap.h
+++ b/fs/nfsd/idmap.h
@@ -42,14 +42,14 @@
42#define IDMAP_NAMESZ 128 42#define IDMAP_NAMESZ 128
43 43
44#ifdef CONFIG_NFSD_V4 44#ifdef CONFIG_NFSD_V4
45int nfsd_idmap_init(void); 45int nfsd_idmap_init(struct net *);
46void nfsd_idmap_shutdown(void); 46void nfsd_idmap_shutdown(struct net *);
47#else 47#else
48static inline int nfsd_idmap_init(void) 48static inline int nfsd_idmap_init(struct net *net)
49{ 49{
50 return 0; 50 return 0;
51} 51}
52static inline void nfsd_idmap_shutdown(void) 52static inline void nfsd_idmap_shutdown(struct net *net)
53{ 53{
54} 54}
55#endif 55#endif
diff --git a/fs/nfsd/nfs4idmap.c b/fs/nfsd/nfs4idmap.c
index 2ff44708ea96..d37405f7000a 100644
--- a/fs/nfsd/nfs4idmap.c
+++ b/fs/nfsd/nfs4idmap.c
@@ -469,24 +469,24 @@ nametoid_update(struct cache_detail *cd, struct ent *new, struct ent *old)
469 */ 469 */
470 470
471int 471int
472nfsd_idmap_init(void) 472nfsd_idmap_init(struct net *net)
473{ 473{
474 int rv; 474 int rv;
475 475
476 rv = cache_register_net(&idtoname_cache, &init_net); 476 rv = cache_register_net(&idtoname_cache, net);
477 if (rv) 477 if (rv)
478 return rv; 478 return rv;
479 rv = cache_register_net(&nametoid_cache, &init_net); 479 rv = cache_register_net(&nametoid_cache, net);
480 if (rv) 480 if (rv)
481 cache_unregister_net(&idtoname_cache, &init_net); 481 cache_unregister_net(&idtoname_cache, net);
482 return rv; 482 return rv;
483} 483}
484 484
485void 485void
486nfsd_idmap_shutdown(void) 486nfsd_idmap_shutdown(struct net *net)
487{ 487{
488 cache_unregister_net(&idtoname_cache, &init_net); 488 cache_unregister_net(&idtoname_cache, net);
489 cache_unregister_net(&nametoid_cache, &init_net); 489 cache_unregister_net(&nametoid_cache, net);
490} 490}
491 491
492static int 492static int
diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
index 08cd87a9fb40..d6e8b85c6b7f 100644
--- a/fs/nfsd/nfsctl.c
+++ b/fs/nfsd/nfsctl.c
@@ -1186,7 +1186,7 @@ static int __init init_nfsd(void)
1186 if (retval) 1186 if (retval)
1187 goto out_free_stat; 1187 goto out_free_stat;
1188 nfsd_lockd_init(); /* lockd->nfsd callbacks */ 1188 nfsd_lockd_init(); /* lockd->nfsd callbacks */
1189 retval = nfsd_idmap_init(); 1189 retval = nfsd_idmap_init(&init_net);
1190 if (retval) 1190 if (retval)
1191 goto out_free_lockd; 1191 goto out_free_lockd;
1192 retval = create_proc_exports_entry(); 1192 retval = create_proc_exports_entry();
@@ -1200,7 +1200,7 @@ out_free_all:
1200 remove_proc_entry("fs/nfs/exports", NULL); 1200 remove_proc_entry("fs/nfs/exports", NULL);
1201 remove_proc_entry("fs/nfs", NULL); 1201 remove_proc_entry("fs/nfs", NULL);
1202out_free_idmap: 1202out_free_idmap:
1203 nfsd_idmap_shutdown(); 1203 nfsd_idmap_shutdown(&init_net);
1204out_free_lockd: 1204out_free_lockd:
1205 nfsd_lockd_shutdown(); 1205 nfsd_lockd_shutdown();
1206 nfsd_reply_cache_shutdown(); 1206 nfsd_reply_cache_shutdown();
@@ -1223,7 +1223,7 @@ static void __exit exit_nfsd(void)
1223 remove_proc_entry("fs/nfs", NULL); 1223 remove_proc_entry("fs/nfs", NULL);
1224 nfsd_stat_shutdown(); 1224 nfsd_stat_shutdown();
1225 nfsd_lockd_shutdown(); 1225 nfsd_lockd_shutdown();
1226 nfsd_idmap_shutdown(); 1226 nfsd_idmap_shutdown(&init_net);
1227 nfsd4_free_slabs(); 1227 nfsd4_free_slabs();
1228 nfsd_fault_inject_cleanup(); 1228 nfsd_fault_inject_cleanup();
1229 unregister_filesystem(&nfsd_fs_type); 1229 unregister_filesystem(&nfsd_fs_type);