Commit b89109bef4a6a4a8ab5788778ee0addca0787870
Committed by
J. Bruce Fields
1 parent
e3f70eadb7
Exists in
master
and in
20 other branches
nfsd: pass network context to export caches init/shutdown routines
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>
Showing 3 changed files with 15 additions and 15 deletions Side-by-side Diff
fs/nfsd/export.c
... | ... | @@ -1228,17 +1228,17 @@ |
1228 | 1228 | * Initialize the exports module. |
1229 | 1229 | */ |
1230 | 1230 | int |
1231 | -nfsd_export_init(void) | |
1231 | +nfsd_export_init(struct net *net) | |
1232 | 1232 | { |
1233 | 1233 | int rv; |
1234 | - dprintk("nfsd: initializing export module.\n"); | |
1234 | + dprintk("nfsd: initializing export module (net: %p).\n", net); | |
1235 | 1235 | |
1236 | - rv = cache_register_net(&svc_export_cache, &init_net); | |
1236 | + rv = cache_register_net(&svc_export_cache, net); | |
1237 | 1237 | if (rv) |
1238 | 1238 | return rv; |
1239 | - rv = cache_register_net(&svc_expkey_cache, &init_net); | |
1239 | + rv = cache_register_net(&svc_expkey_cache, net); | |
1240 | 1240 | if (rv) |
1241 | - cache_unregister_net(&svc_export_cache, &init_net); | |
1241 | + cache_unregister_net(&svc_export_cache, net); | |
1242 | 1242 | return rv; |
1243 | 1243 | |
1244 | 1244 | } |
1245 | 1245 | |
1246 | 1246 | |
1247 | 1247 | |
... | ... | @@ -1257,15 +1257,15 @@ |
1257 | 1257 | * Shutdown the exports module. |
1258 | 1258 | */ |
1259 | 1259 | void |
1260 | -nfsd_export_shutdown(void) | |
1260 | +nfsd_export_shutdown(struct net *net) | |
1261 | 1261 | { |
1262 | 1262 | |
1263 | - dprintk("nfsd: shutting down export module.\n"); | |
1263 | + dprintk("nfsd: shutting down export module (net: %p).\n", net); | |
1264 | 1264 | |
1265 | - cache_unregister_net(&svc_expkey_cache, &init_net); | |
1266 | - cache_unregister_net(&svc_export_cache, &init_net); | |
1265 | + cache_unregister_net(&svc_expkey_cache, net); | |
1266 | + cache_unregister_net(&svc_export_cache, net); | |
1267 | 1267 | svcauth_unix_purge(); |
1268 | 1268 | |
1269 | - dprintk("nfsd: export shutdown complete.\n"); | |
1269 | + dprintk("nfsd: export shutdown complete (net: %p).\n", net); | |
1270 | 1270 | } |
fs/nfsd/nfsctl.c
... | ... | @@ -1163,7 +1163,7 @@ |
1163 | 1163 | retval = nfsd_reply_cache_init(); |
1164 | 1164 | if (retval) |
1165 | 1165 | goto out_free_stat; |
1166 | - retval = nfsd_export_init(); | |
1166 | + retval = nfsd_export_init(&init_net); | |
1167 | 1167 | if (retval) |
1168 | 1168 | goto out_free_cache; |
1169 | 1169 | nfsd_lockd_init(); /* lockd->nfsd callbacks */ |
... | ... | @@ -1184,7 +1184,7 @@ |
1184 | 1184 | nfsd_idmap_shutdown(); |
1185 | 1185 | out_free_lockd: |
1186 | 1186 | nfsd_lockd_shutdown(); |
1187 | - nfsd_export_shutdown(); | |
1187 | + nfsd_export_shutdown(&init_net); | |
1188 | 1188 | out_free_cache: |
1189 | 1189 | nfsd_reply_cache_shutdown(); |
1190 | 1190 | out_free_stat: |
... | ... | @@ -1201,7 +1201,7 @@ |
1201 | 1201 | |
1202 | 1202 | static void __exit exit_nfsd(void) |
1203 | 1203 | { |
1204 | - nfsd_export_shutdown(); | |
1204 | + nfsd_export_shutdown(&init_net); | |
1205 | 1205 | nfsd_reply_cache_shutdown(); |
1206 | 1206 | remove_proc_entry("fs/nfs/exports", NULL); |
1207 | 1207 | remove_proc_entry("fs/nfs", NULL); |
include/linux/nfsd/export.h
... | ... | @@ -130,8 +130,8 @@ |
130 | 130 | /* |
131 | 131 | * Function declarations |
132 | 132 | */ |
133 | -int nfsd_export_init(void); | |
134 | -void nfsd_export_shutdown(void); | |
133 | +int nfsd_export_init(struct net *); | |
134 | +void nfsd_export_shutdown(struct net *); | |
135 | 135 | void nfsd_export_flush(void); |
136 | 136 | struct svc_export * rqst_exp_get_by_name(struct svc_rqst *, |
137 | 137 | struct path *); |