summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStanislav Kinsbursky <skinsbursky@parallels.com>2011-11-25 15:13:20 +0100
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-02-01 00:20:26 +0100
commit39cb67b9a04300df41e201d9e6392691cdad080f (patch)
tree4fee2a5398b470b3503ea7af07a9d58b42f9c607
parentNFS: DNS resolver PipeFS notifier introduced (diff)
downloadlinux-39cb67b9a04300df41e201d9e6392691cdad080f.tar.xz
linux-39cb67b9a04300df41e201d9e6392691cdad080f.zip
NFS: remove RPC PipeFS mount point references from NFS cache routines
This is a cleanup patch. We don't need this reference anymore, because DNS resolver cache now creates it's dentries in per-net operations and on PipeFS mount/umount notification. Note that nfs_cache_register_net() now returns 0 instead of -ENOENT in case of PiepFS superblock absence. This is ok, Dns resolver cache will be regestered on PipeFS mount event. Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r--fs/nfs/cache_lib.c19
1 files changed, 4 insertions, 15 deletions
diff --git a/fs/nfs/cache_lib.c b/fs/nfs/cache_lib.c
index 5905a31211e5..dded26368111 100644
--- a/fs/nfs/cache_lib.c
+++ b/fs/nfs/cache_lib.c
@@ -126,24 +126,14 @@ int nfs_cache_register_sb(struct super_block *sb, struct cache_detail *cd)
int nfs_cache_register_net(struct net *net, struct cache_detail *cd)
{
- struct vfsmount *mnt;
struct super_block *pipefs_sb;
- int ret;
+ int ret = 0;
- mnt = rpc_get_mount();
- if (IS_ERR(mnt))
- return PTR_ERR(mnt);
pipefs_sb = rpc_get_sb_net(net);
- if (!pipefs_sb) {
- ret = -ENOENT;
- goto err;
+ if (pipefs_sb) {
+ ret = nfs_cache_register_sb(pipefs_sb, cd);
+ rpc_put_sb_net(net);
}
- ret = nfs_cache_register_sb(pipefs_sb, cd);
- rpc_put_sb_net(net);
- if (!ret)
- return ret;
-err:
- rpc_put_mount();
return ret;
}
@@ -162,7 +152,6 @@ void nfs_cache_unregister_net(struct net *net, struct cache_detail *cd)
nfs_cache_unregister_sb(pipefs_sb, cd);
rpc_put_sb_net(net);
}
- rpc_put_mount();
}
void nfs_cache_init(struct cache_detail *cd)