aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2009-08-09 15:14:24 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2009-08-09 15:14:24 -0400
commit7d217caca5d704e48aa5e59aba0b3ad4c7af4fd2 (patch)
treed8d5fcac59d736f1b8c9769e7d3f5aec6d1b5428
parent7d59d1e86531a53d7648726ab8a6a670ecbd8f06 (diff)
SUNRPC: Replace rpc_client->cl_dentry and cl_mnt, with a cl_path
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r--fs/nfs/idmap.c4
-rw-r--r--include/linux/sunrpc/clnt.h4
-rw-r--r--net/sunrpc/auth_gss/auth_gss.c4
-rw-r--r--net/sunrpc/clnt.c24
4 files changed, 18 insertions, 18 deletions
diff --git a/fs/nfs/idmap.c b/fs/nfs/idmap.c
index fae0d3e52b44..21a84d45916f 100644
--- a/fs/nfs/idmap.c
+++ b/fs/nfs/idmap.c
@@ -119,8 +119,8 @@ nfs_idmap_new(struct nfs_client *clp)
119 if (idmap == NULL) 119 if (idmap == NULL)
120 return -ENOMEM; 120 return -ENOMEM;
121 121
122 idmap->idmap_dentry = rpc_mkpipe(clp->cl_rpcclient->cl_dentry, "idmap", 122 idmap->idmap_dentry = rpc_mkpipe(clp->cl_rpcclient->cl_path.dentry,
123 idmap, &idmap_upcall_ops, 0); 123 "idmap", idmap, &idmap_upcall_ops, 0);
124 if (IS_ERR(idmap->idmap_dentry)) { 124 if (IS_ERR(idmap->idmap_dentry)) {
125 error = PTR_ERR(idmap->idmap_dentry); 125 error = PTR_ERR(idmap->idmap_dentry);
126 kfree(idmap); 126 kfree(idmap);
diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h
index 37881f1a0bd7..38ad162330a2 100644
--- a/include/linux/sunrpc/clnt.h
+++ b/include/linux/sunrpc/clnt.h
@@ -17,6 +17,7 @@
17#include <linux/sunrpc/xdr.h> 17#include <linux/sunrpc/xdr.h>
18#include <linux/sunrpc/timer.h> 18#include <linux/sunrpc/timer.h>
19#include <asm/signal.h> 19#include <asm/signal.h>
20#include <linux/path.h>
20 21
21struct rpc_inode; 22struct rpc_inode;
22 23
@@ -51,8 +52,7 @@ struct rpc_clnt {
51 int cl_nodelen; /* nodename length */ 52 int cl_nodelen; /* nodename length */
52 char cl_nodename[UNX_MAXNODENAME]; 53 char cl_nodename[UNX_MAXNODENAME];
53 char cl_pathname[30];/* Path in rpc_pipe_fs */ 54 char cl_pathname[30];/* Path in rpc_pipe_fs */
54 struct vfsmount * cl_vfsmnt; 55 struct path cl_path;
55 struct dentry * cl_dentry; /* inode */
56 struct rpc_clnt * cl_parent; /* Points to parent of clones */ 56 struct rpc_clnt * cl_parent; /* Points to parent of clones */
57 struct rpc_rtt cl_rtt_default; 57 struct rpc_rtt cl_rtt_default;
58 struct rpc_timeout cl_timeout_default; 58 struct rpc_timeout cl_timeout_default;
diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c
index 23eb3864ffc0..fc6a43ccd950 100644
--- a/net/sunrpc/auth_gss/auth_gss.c
+++ b/net/sunrpc/auth_gss/auth_gss.c
@@ -777,7 +777,7 @@ gss_create(struct rpc_clnt *clnt, rpc_authflavor_t flavor)
777 * that we supported only the old pipe. So we instead create 777 * that we supported only the old pipe. So we instead create
778 * the new pipe first. 778 * the new pipe first.
779 */ 779 */
780 gss_auth->dentry[1] = rpc_mkpipe(clnt->cl_dentry, 780 gss_auth->dentry[1] = rpc_mkpipe(clnt->cl_path.dentry,
781 "gssd", 781 "gssd",
782 clnt, &gss_upcall_ops_v1, 782 clnt, &gss_upcall_ops_v1,
783 RPC_PIPE_WAIT_FOR_OPEN); 783 RPC_PIPE_WAIT_FOR_OPEN);
@@ -786,7 +786,7 @@ gss_create(struct rpc_clnt *clnt, rpc_authflavor_t flavor)
786 goto err_put_mech; 786 goto err_put_mech;
787 } 787 }
788 788
789 gss_auth->dentry[0] = rpc_mkpipe(clnt->cl_dentry, 789 gss_auth->dentry[0] = rpc_mkpipe(clnt->cl_path.dentry,
790 gss_auth->mech->gm_name, 790 gss_auth->mech->gm_name,
791 clnt, &gss_upcall_ops_v0, 791 clnt, &gss_upcall_ops_v0,
792 RPC_PIPE_WAIT_FOR_OPEN); 792 RPC_PIPE_WAIT_FOR_OPEN);
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 6ec37701a165..b3f863346300 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -99,24 +99,24 @@ rpc_setup_pipedir(struct rpc_clnt *clnt, char *dir_name)
99 static uint32_t clntid; 99 static uint32_t clntid;
100 int error; 100 int error;
101 101
102 clnt->cl_vfsmnt = ERR_PTR(-ENOENT); 102 clnt->cl_path.mnt = ERR_PTR(-ENOENT);
103 clnt->cl_dentry = ERR_PTR(-ENOENT); 103 clnt->cl_path.dentry = ERR_PTR(-ENOENT);
104 if (dir_name == NULL) 104 if (dir_name == NULL)
105 return 0; 105 return 0;
106 106
107 clnt->cl_vfsmnt = rpc_get_mount(); 107 clnt->cl_path.mnt = rpc_get_mount();
108 if (IS_ERR(clnt->cl_vfsmnt)) 108 if (IS_ERR(clnt->cl_path.mnt))
109 return PTR_ERR(clnt->cl_vfsmnt); 109 return PTR_ERR(clnt->cl_path.mnt);
110 110
111 for (;;) { 111 for (;;) {
112 snprintf(clnt->cl_pathname, sizeof(clnt->cl_pathname), 112 snprintf(clnt->cl_pathname, sizeof(clnt->cl_pathname),
113 "%s/clnt%x", dir_name, 113 "%s/clnt%x", dir_name,
114 (unsigned int)clntid++); 114 (unsigned int)clntid++);
115 clnt->cl_pathname[sizeof(clnt->cl_pathname) - 1] = '\0'; 115 clnt->cl_pathname[sizeof(clnt->cl_pathname) - 1] = '\0';
116 clnt->cl_dentry = rpc_create_client_dir(clnt->cl_pathname, clnt); 116 clnt->cl_path.dentry = rpc_create_client_dir(clnt->cl_pathname, clnt);
117 if (!IS_ERR(clnt->cl_dentry)) 117 if (!IS_ERR(clnt->cl_path.dentry))
118 return 0; 118 return 0;
119 error = PTR_ERR(clnt->cl_dentry); 119 error = PTR_ERR(clnt->cl_path.dentry);
120 if (error != -EEXIST) { 120 if (error != -EEXIST) {
121 printk(KERN_INFO "RPC: Couldn't create pipefs entry %s, error %d\n", 121 printk(KERN_INFO "RPC: Couldn't create pipefs entry %s, error %d\n",
122 clnt->cl_pathname, error); 122 clnt->cl_pathname, error);
@@ -231,8 +231,8 @@ static struct rpc_clnt * rpc_new_client(const struct rpc_create_args *args, stru
231 return clnt; 231 return clnt;
232 232
233out_no_auth: 233out_no_auth:
234 if (!IS_ERR(clnt->cl_dentry)) { 234 if (!IS_ERR(clnt->cl_path.dentry)) {
235 rpc_remove_client_dir(clnt->cl_dentry); 235 rpc_remove_client_dir(clnt->cl_path.dentry);
236 rpc_put_mount(); 236 rpc_put_mount();
237 } 237 }
238out_no_path: 238out_no_path:
@@ -423,8 +423,8 @@ rpc_free_client(struct kref *kref)
423 423
424 dprintk("RPC: destroying %s client for %s\n", 424 dprintk("RPC: destroying %s client for %s\n",
425 clnt->cl_protname, clnt->cl_server); 425 clnt->cl_protname, clnt->cl_server);
426 if (!IS_ERR(clnt->cl_dentry)) { 426 if (!IS_ERR(clnt->cl_path.dentry)) {
427 rpc_remove_client_dir(clnt->cl_dentry); 427 rpc_remove_client_dir(clnt->cl_path.dentry);
428 rpc_put_mount(); 428 rpc_put_mount();
429 } 429 }
430 if (clnt->cl_parent != clnt) { 430 if (clnt->cl_parent != clnt) {