]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
pnfsblock: add missing rpc_put_mount and path_put
authorPeng Tao <bergwolf@gmail.com>
Fri, 23 Sep 2011 01:50:11 +0000 (21:50 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Tue, 18 Oct 2011 16:08:12 +0000 (09:08 -0700)
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Peng Tao <peng_tao@emc.com>
Signed-off-by: Jim Rees <rees@umich.edu>
Cc: stable@kernel.org [3.0]
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/blocklayout/blocklayout.c

index dc23833c02317c130b45b8541b22a4f23e8d4df3..dee6cae80fea8c8fc5f02477ad0396e7c03a270c 100644 (file)
@@ -993,17 +993,20 @@ static int __init nfs4blocklayout_init(void)
                              mnt,
                              NFS_PIPE_DIRNAME, 0, &path);
        if (ret)
-               goto out_remove;
+               goto out_putrpc;
 
        bl_device_pipe = rpc_mkpipe(path.dentry, "blocklayout", NULL,
                                    &bl_upcall_ops, 0);
+       path_put(&path);
        if (IS_ERR(bl_device_pipe)) {
                ret = PTR_ERR(bl_device_pipe);
-               goto out_remove;
+               goto out_putrpc;
        }
 out:
        return ret;
 
+out_putrpc:
+       rpc_put_mount();
 out_remove:
        pnfs_unregister_layoutdriver(&blocklayout_type);
        return ret;
@@ -1016,6 +1019,7 @@ static void __exit nfs4blocklayout_exit(void)
 
        pnfs_unregister_layoutdriver(&blocklayout_type);
        rpc_unlink(bl_device_pipe);
+       rpc_put_mount();
 }
 
 MODULE_ALIAS("nfs-layouttype4-3");