summaryrefslogtreecommitdiff
path: root/fs/nfs/cache_lib.c
diff options
context:
space:
mode:
authorStanislav Kinsbursky <skinsbursky@parallels.com>2011-11-25 14:12:40 (GMT)
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-01-31 23:20:26 (GMT)
commit820f9442e711a81749e70c40f149fc54c4ce0ca8 (patch)
treed3e3f9b6e32cc8f19189d9760ce60ee502b81ee8 /fs/nfs/cache_lib.c
parent30507f58ce11e7664512059c708347d7a7d75271 (diff)
downloadlinux-fsl-qoriq-820f9442e711a81749e70c40f149fc54c4ce0ca8.tar.xz
SUNRPC: split cache creation and PipeFS registration
This precursor patch splits SUNRPC cache creation and PipeFS registartion. It's required for latter split of NFS DNS resolver cache creation per network namespace context and PipeFS registration/unregistration on MOUNT/UMOUNT events. Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/cache_lib.c')
-rw-r--r--fs/nfs/cache_lib.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfs/cache_lib.c b/fs/nfs/cache_lib.c
index c98b439..d62a895 100644
--- a/fs/nfs/cache_lib.c
+++ b/fs/nfs/cache_lib.c
@@ -120,6 +120,7 @@ int nfs_cache_register(struct cache_detail *cd)
mnt = rpc_get_mount();
if (IS_ERR(mnt))
return PTR_ERR(mnt);
+ sunrpc_init_cache_detail(cd);
ret = vfs_path_lookup(mnt->mnt_root, mnt, "/cache", 0, &path);
if (ret)
goto err;
@@ -128,6 +129,7 @@ int nfs_cache_register(struct cache_detail *cd)
if (!ret)
return ret;
err:
+ sunrpc_destroy_cache_detail(cd);
rpc_put_mount();
return ret;
}
@@ -135,6 +137,7 @@ err:
void nfs_cache_unregister(struct cache_detail *cd)
{
sunrpc_cache_unregister_pipefs(cd);
+ sunrpc_destroy_cache_detail(cd);
rpc_put_mount();
}