NFS: remove RPC PipeFS mount point reference from blocklayout routines
authorStanislav Kinsbursky <skinsbursky@parallels.com>
Tue, 10 Jan 2012 13:04:40 +0000 (17:04 +0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Tue, 31 Jan 2012 23:20:27 +0000 (18:20 -0500)
This is a cleanup patch. We don't need this reference anymore, because
blocklayout pipes dentries now creates and destroys in per-net operations and
on PipeFS mount/umount notification.
Note that nfs4blocklayout_register_net() now returns 0 instead of -ENOENT in
case of PipeFS superblock absence. This is ok, because blocklayout pipe dentry
will be created on PipeFS mount event.

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/blocklayout/blocklayout.c

index df05b9465146ee56ff16c7bb9fdf399965d2a102..783ebd51bd5fa75054ac98ebdd7fd37b7b645453 100644 (file)
@@ -1094,7 +1094,7 @@ static struct dentry *nfs4blocklayout_register_net(struct net *net,
 
        pipefs_sb = rpc_get_sb_net(net);
        if (!pipefs_sb)
-               return ERR_PTR(-ENOENT);
+               return NULL;
        dentry = nfs4blocklayout_register_sb(pipefs_sb, pipe);
        rpc_put_sb_net(net);
        return dentry;
@@ -1145,7 +1145,6 @@ static struct pernet_operations nfs4blocklayout_net_ops = {
 
 static int __init nfs4blocklayout_init(void)
 {
-       struct vfsmount *mnt;
        int ret;
 
        dprintk("%s: NFSv4 Block Layout Driver Registering...\n", __func__);
@@ -1155,12 +1154,6 @@ static int __init nfs4blocklayout_init(void)
                goto out;
 
        init_waitqueue_head(&bl_wq);
-
-       mnt = rpc_get_mount();
-       if (IS_ERR(mnt)) {
-               ret = PTR_ERR(mnt);
-               goto out_remove;
-       }
        ret = rpc_pipefs_notifier_register(&nfs4blocklayout_block);
        if (ret)
                goto out_remove;