diff options
author | Stanislav Kinsbursky <skinsbursky@parallels.com> | 2012-04-11 09:32:44 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2012-04-12 09:12:10 -0400 |
commit | 43ec1a20bfbe1fbf6df6bf5a7b9c88ea090dbfcd (patch) | |
tree | aa0fb40cc8955d358bc9a39444c4ad2cc66d1e9b | |
parent | 5717e0128422b96be6aa414fa752ec90c1cd31e9 (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.h | 8 | ||||
-rw-r--r-- | fs/nfsd/nfs4idmap.c | 14 | ||||
-rw-r--r-- | fs/nfsd/nfsctl.c | 6 |
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 |
45 | int nfsd_idmap_init(void); | 45 | int nfsd_idmap_init(struct net *); |
46 | void nfsd_idmap_shutdown(void); | 46 | void nfsd_idmap_shutdown(struct net *); |
47 | #else | 47 | #else |
48 | static inline int nfsd_idmap_init(void) | 48 | static inline int nfsd_idmap_init(struct net *net) |
49 | { | 49 | { |
50 | return 0; | 50 | return 0; |
51 | } | 51 | } |
52 | static inline void nfsd_idmap_shutdown(void) | 52 | static 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 | ||
471 | int | 471 | int |
472 | nfsd_idmap_init(void) | 472 | nfsd_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 | ||
485 | void | 485 | void |
486 | nfsd_idmap_shutdown(void) | 486 | nfsd_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 | ||
492 | static int | 492 | static 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); |
1202 | out_free_idmap: | 1202 | out_free_idmap: |
1203 | nfsd_idmap_shutdown(); | 1203 | nfsd_idmap_shutdown(&init_net); |
1204 | out_free_lockd: | 1204 | out_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); |