|
@@ -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");
|