Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 30507f58 authored by Stanislav Kinsbursky's avatar Stanislav Kinsbursky Committed by Trond Myklebust
Browse files

SUNRPC: remove RPC PipeFS mount point reference from RPC client



This is a cleanup patch. We don't need this reference anymore.

Signed-off-by: default avatarStanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 70fe25b6
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -451,8 +451,8 @@ nfs_idmap_new(struct nfs_client *clp)
		return error;
	}

	if (clp->cl_rpcclient->cl_path.dentry)
		pipe->dentry = rpc_mkpipe_dentry(clp->cl_rpcclient->cl_path.dentry,
	if (clp->cl_rpcclient->cl_dentry)
		pipe->dentry = rpc_mkpipe_dentry(clp->cl_rpcclient->cl_dentry,
				"idmap", idmap, pipe);
	if (IS_ERR(pipe->dentry)) {
		error = PTR_ERR(pipe->dentry);
+1 −1
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ struct rpc_clnt {

	int			cl_nodelen;	/* nodename length */
	char 			cl_nodename[UNX_MAXNODENAME];
	struct path		cl_path;
	struct dentry *		cl_dentry;
	struct rpc_clnt *	cl_parent;	/* Points to parent of clones */
	struct rpc_rtt		cl_rtt_default;
	struct rpc_timeout	cl_timeout_default;
+4 −4
Original line number Diff line number Diff line
@@ -777,12 +777,12 @@ static int gss_pipes_dentries_create(struct rpc_auth *auth)
	gss_auth = container_of(auth, struct gss_auth, rpc_auth);
	clnt = gss_auth->client;

	gss_auth->pipe[1]->dentry = rpc_mkpipe_dentry(clnt->cl_path.dentry,
	gss_auth->pipe[1]->dentry = rpc_mkpipe_dentry(clnt->cl_dentry,
						      "gssd",
						      clnt, gss_auth->pipe[1]);
	if (IS_ERR(gss_auth->pipe[1]->dentry))
		return PTR_ERR(gss_auth->pipe[1]->dentry);
	gss_auth->pipe[0]->dentry = rpc_mkpipe_dentry(clnt->cl_path.dentry,
	gss_auth->pipe[0]->dentry = rpc_mkpipe_dentry(clnt->cl_dentry,
						      gss_auth->mech->gm_name,
						      clnt, gss_auth->pipe[0]);
	if (IS_ERR(gss_auth->pipe[0]->dentry)) {
@@ -804,7 +804,7 @@ static void gss_pipes_dentries_destroy_net(struct rpc_clnt *clnt,

	sb = rpc_get_sb_net(net);
	if (sb) {
		if (clnt->cl_path.dentry)
		if (clnt->cl_dentry)
			gss_pipes_dentries_destroy(auth);
		rpc_put_sb_net(net);
	}
@@ -819,7 +819,7 @@ static int gss_pipes_dentries_create_net(struct rpc_clnt *clnt,

	sb = rpc_get_sb_net(net);
	if (sb) {
		if (clnt->cl_path.dentry)
		if (clnt->cl_dentry)
			err = gss_pipes_dentries_create(auth);
		rpc_put_sb_net(net);
	}
+10 −11
Original line number Diff line number Diff line
@@ -98,12 +98,12 @@ static void rpc_unregister_client(struct rpc_clnt *clnt)

static void __rpc_clnt_remove_pipedir(struct rpc_clnt *clnt)
{
	if (clnt->cl_path.dentry) {
	if (clnt->cl_dentry) {
		if (clnt->cl_auth && clnt->cl_auth->au_ops->pipes_destroy)
			clnt->cl_auth->au_ops->pipes_destroy(clnt->cl_auth);
		rpc_remove_client_dir(clnt->cl_path.dentry);
		rpc_remove_client_dir(clnt->cl_dentry);
	}
	clnt->cl_path.dentry = NULL;
	clnt->cl_dentry = NULL;
}

static void rpc_clnt_remove_pipedir(struct rpc_clnt *clnt)
@@ -154,20 +154,19 @@ static int
rpc_setup_pipedir(struct rpc_clnt *clnt, char *dir_name)
{
	struct super_block *pipefs_sb;
	struct path path;
	struct dentry *dentry;

	clnt->cl_path.mnt = ERR_PTR(-ENOENT);
	clnt->cl_path.dentry = NULL;
	clnt->cl_dentry = NULL;
	if (dir_name == NULL)
		return 0;
	pipefs_sb = rpc_get_sb_net(clnt->cl_xprt->xprt_net);
	if (!pipefs_sb)
		return 0;
	path.dentry = rpc_setup_pipedir_sb(pipefs_sb, clnt, dir_name);
	dentry = rpc_setup_pipedir_sb(pipefs_sb, clnt, dir_name);
	rpc_put_sb_net(clnt->cl_xprt->xprt_net);
	if (IS_ERR(path.dentry))
		return PTR_ERR(path.dentry);
	clnt->cl_path = path;
	if (IS_ERR(dentry))
		return PTR_ERR(dentry);
	clnt->cl_dentry = dentry;
	return 0;
}

@@ -186,7 +185,7 @@ static int __rpc_pipefs_event(struct rpc_clnt *clnt, unsigned long event,
		BUG_ON(dentry == NULL);
		if (IS_ERR(dentry))
			return PTR_ERR(dentry);
		clnt->cl_path.dentry = dentry;
		clnt->cl_dentry = dentry;
		if (clnt->cl_auth->au_ops->pipes_create) {
			err = clnt->cl_auth->au_ops->pipes_create(clnt->cl_auth);
			if (err)