summaryrefslogtreecommitdiffstats
path: root/fs/nfs/cache_lib.c
diff options
context:
space:
mode:
authorStanislav Kinsbursky2011-11-25 15:12:40 +0100
committerTrond Myklebust2012-02-01 00:20:26 +0100
commit820f9442e711a81749e70c40f149fc54c4ce0ca8 (patch)
treed3e3f9b6e32cc8f19189d9760ce60ee502b81ee8 /fs/nfs/cache_lib.c
parentSUNRPC: remove RPC PipeFS mount point reference from RPC client (diff)
downloadkernel-qcow2-linux-820f9442e711a81749e70c40f149fc54c4ce0ca8.tar.gz
kernel-qcow2-linux-820f9442e711a81749e70c40f149fc54c4ce0ca8.tar.xz
kernel-qcow2-linux-820f9442e711a81749e70c40f149fc54c4ce0ca8.zip
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 c98b439332fc..d62a8951cb12 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();
}