diff options
author | Stanislav Kinsbursky <skinsbursky@parallels.com> | 2011-11-25 15:12:40 +0100 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-02-01 00:20:26 +0100 |
commit | 820f9442e711a81749e70c40f149fc54c4ce0ca8 (patch) | |
tree | d3e3f9b6e32cc8f19189d9760ce60ee502b81ee8 /fs/nfs/cache_lib.c | |
parent | SUNRPC: remove RPC PipeFS mount point reference from RPC client (diff) | |
download | linux-820f9442e711a81749e70c40f149fc54c4ce0ca8.tar.xz 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.c | 3 |
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(); } |