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>
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 @@
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 @@
if (!ret)
return ret;
err:
+ sunrpc_destroy_cache_detail(cd);
rpc_put_mount();
return ret;
}
@@ -135,6 +137,7 @@
void nfs_cache_unregister(struct cache_detail *cd)
{
sunrpc_cache_unregister_pipefs(cd);
+ sunrpc_destroy_cache_detail(cd);
rpc_put_mount();
}