diff options
Diffstat (limited to 'include/linux/sunrpc/clnt.h')
-rw-r--r-- | include/linux/sunrpc/clnt.h | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h index 2c5993a17c33..523547ecfee2 100644 --- a/include/linux/sunrpc/clnt.h +++ b/include/linux/sunrpc/clnt.h | |||
@@ -35,14 +35,13 @@ struct rpc_clnt { | |||
35 | struct list_head cl_clients; /* Global list of clients */ | 35 | struct list_head cl_clients; /* Global list of clients */ |
36 | struct list_head cl_tasks; /* List of tasks */ | 36 | struct list_head cl_tasks; /* List of tasks */ |
37 | spinlock_t cl_lock; /* spinlock */ | 37 | spinlock_t cl_lock; /* spinlock */ |
38 | struct rpc_xprt * cl_xprt; /* transport */ | 38 | struct rpc_xprt __rcu * cl_xprt; /* transport */ |
39 | struct rpc_procinfo * cl_procinfo; /* procedure info */ | 39 | struct rpc_procinfo * cl_procinfo; /* procedure info */ |
40 | u32 cl_prog, /* RPC program number */ | 40 | u32 cl_prog, /* RPC program number */ |
41 | cl_vers, /* RPC version number */ | 41 | cl_vers, /* RPC version number */ |
42 | cl_maxproc; /* max procedure number */ | 42 | cl_maxproc; /* max procedure number */ |
43 | 43 | ||
44 | char * cl_server; /* server machine name */ | 44 | const char * cl_protname; /* protocol name */ |
45 | char * cl_protname; /* protocol name */ | ||
46 | struct rpc_auth * cl_auth; /* authenticator */ | 45 | struct rpc_auth * cl_auth; /* authenticator */ |
47 | struct rpc_stat * cl_stats; /* per-program statistics */ | 46 | struct rpc_stat * cl_stats; /* per-program statistics */ |
48 | struct rpc_iostats * cl_metrics; /* per-client statistics */ | 47 | struct rpc_iostats * cl_metrics; /* per-client statistics */ |
@@ -57,12 +56,11 @@ struct rpc_clnt { | |||
57 | 56 | ||
58 | int cl_nodelen; /* nodename length */ | 57 | int cl_nodelen; /* nodename length */ |
59 | char cl_nodename[UNX_MAXNODENAME]; | 58 | char cl_nodename[UNX_MAXNODENAME]; |
60 | struct path cl_path; | 59 | struct dentry * cl_dentry; |
61 | struct rpc_clnt * cl_parent; /* Points to parent of clones */ | 60 | struct rpc_clnt * cl_parent; /* Points to parent of clones */ |
62 | struct rpc_rtt cl_rtt_default; | 61 | struct rpc_rtt cl_rtt_default; |
63 | struct rpc_timeout cl_timeout_default; | 62 | struct rpc_timeout cl_timeout_default; |
64 | struct rpc_program * cl_program; | 63 | const struct rpc_program *cl_program; |
65 | char cl_inline_name[32]; | ||
66 | char *cl_principal; /* target to authenticate to */ | 64 | char *cl_principal; /* target to authenticate to */ |
67 | }; | 65 | }; |
68 | 66 | ||
@@ -71,12 +69,12 @@ struct rpc_clnt { | |||
71 | */ | 69 | */ |
72 | #define RPC_MAXVERSION 4 | 70 | #define RPC_MAXVERSION 4 |
73 | struct rpc_program { | 71 | struct rpc_program { |
74 | char * name; /* protocol name */ | 72 | const char * name; /* protocol name */ |
75 | u32 number; /* program number */ | 73 | u32 number; /* program number */ |
76 | unsigned int nrvers; /* number of versions */ | 74 | unsigned int nrvers; /* number of versions */ |
77 | struct rpc_version ** version; /* version array */ | 75 | const struct rpc_version ** version; /* version array */ |
78 | struct rpc_stat * stats; /* statistics */ | 76 | struct rpc_stat * stats; /* statistics */ |
79 | char * pipe_dir_name; /* path to rpc_pipefs dir */ | 77 | const char * pipe_dir_name; /* path to rpc_pipefs dir */ |
80 | }; | 78 | }; |
81 | 79 | ||
82 | struct rpc_version { | 80 | struct rpc_version { |
@@ -97,7 +95,7 @@ struct rpc_procinfo { | |||
97 | unsigned int p_count; /* call count */ | 95 | unsigned int p_count; /* call count */ |
98 | unsigned int p_timer; /* Which RTT timer to use */ | 96 | unsigned int p_timer; /* Which RTT timer to use */ |
99 | u32 p_statidx; /* Which procedure to account */ | 97 | u32 p_statidx; /* Which procedure to account */ |
100 | char * p_name; /* name of procedure */ | 98 | const char * p_name; /* name of procedure */ |
101 | }; | 99 | }; |
102 | 100 | ||
103 | #ifdef __KERNEL__ | 101 | #ifdef __KERNEL__ |
@@ -109,8 +107,8 @@ struct rpc_create_args { | |||
109 | size_t addrsize; | 107 | size_t addrsize; |
110 | struct sockaddr *saddress; | 108 | struct sockaddr *saddress; |
111 | const struct rpc_timeout *timeout; | 109 | const struct rpc_timeout *timeout; |
112 | char *servername; | 110 | const char *servername; |
113 | struct rpc_program *program; | 111 | const struct rpc_program *program; |
114 | u32 prognumber; /* overrides program->number */ | 112 | u32 prognumber; /* overrides program->number */ |
115 | u32 version; | 113 | u32 version; |
116 | rpc_authflavor_t authflavor; | 114 | rpc_authflavor_t authflavor; |
@@ -129,17 +127,18 @@ struct rpc_create_args { | |||
129 | 127 | ||
130 | struct rpc_clnt *rpc_create(struct rpc_create_args *args); | 128 | struct rpc_clnt *rpc_create(struct rpc_create_args *args); |
131 | struct rpc_clnt *rpc_bind_new_program(struct rpc_clnt *, | 129 | struct rpc_clnt *rpc_bind_new_program(struct rpc_clnt *, |
132 | struct rpc_program *, u32); | 130 | const struct rpc_program *, u32); |
133 | void rpc_task_reset_client(struct rpc_task *task, struct rpc_clnt *clnt); | 131 | void rpc_task_reset_client(struct rpc_task *task, struct rpc_clnt *clnt); |
134 | struct rpc_clnt *rpc_clone_client(struct rpc_clnt *); | 132 | struct rpc_clnt *rpc_clone_client(struct rpc_clnt *); |
135 | void rpc_shutdown_client(struct rpc_clnt *); | 133 | void rpc_shutdown_client(struct rpc_clnt *); |
136 | void rpc_release_client(struct rpc_clnt *); | 134 | void rpc_release_client(struct rpc_clnt *); |
137 | void rpc_task_release_client(struct rpc_task *); | 135 | void rpc_task_release_client(struct rpc_task *); |
138 | 136 | ||
139 | int rpcb_create_local(void); | 137 | int rpcb_create_local(struct net *); |
140 | void rpcb_put_local(void); | 138 | void rpcb_put_local(struct net *); |
141 | int rpcb_register(u32, u32, int, unsigned short); | 139 | int rpcb_register(struct net *, u32, u32, int, unsigned short); |
142 | int rpcb_v4_register(const u32 program, const u32 version, | 140 | int rpcb_v4_register(struct net *net, const u32 program, |
141 | const u32 version, | ||
143 | const struct sockaddr *address, | 142 | const struct sockaddr *address, |
144 | const char *netid); | 143 | const char *netid); |
145 | void rpcb_getport_async(struct rpc_task *); | 144 | void rpcb_getport_async(struct rpc_task *); |
@@ -156,16 +155,19 @@ struct rpc_task *rpc_call_null(struct rpc_clnt *clnt, struct rpc_cred *cred, | |||
156 | int rpc_restart_call_prepare(struct rpc_task *); | 155 | int rpc_restart_call_prepare(struct rpc_task *); |
157 | int rpc_restart_call(struct rpc_task *); | 156 | int rpc_restart_call(struct rpc_task *); |
158 | void rpc_setbufsize(struct rpc_clnt *, unsigned int, unsigned int); | 157 | void rpc_setbufsize(struct rpc_clnt *, unsigned int, unsigned int); |
158 | int rpc_protocol(struct rpc_clnt *); | ||
159 | struct net * rpc_net_ns(struct rpc_clnt *); | ||
159 | size_t rpc_max_payload(struct rpc_clnt *); | 160 | size_t rpc_max_payload(struct rpc_clnt *); |
160 | void rpc_force_rebind(struct rpc_clnt *); | 161 | void rpc_force_rebind(struct rpc_clnt *); |
161 | size_t rpc_peeraddr(struct rpc_clnt *, struct sockaddr *, size_t); | 162 | size_t rpc_peeraddr(struct rpc_clnt *, struct sockaddr *, size_t); |
162 | const char *rpc_peeraddr2str(struct rpc_clnt *, enum rpc_display_format_t); | 163 | const char *rpc_peeraddr2str(struct rpc_clnt *, enum rpc_display_format_t); |
164 | int rpc_localaddr(struct rpc_clnt *, struct sockaddr *, size_t); | ||
163 | 165 | ||
164 | size_t rpc_ntop(const struct sockaddr *, char *, const size_t); | 166 | size_t rpc_ntop(const struct sockaddr *, char *, const size_t); |
165 | size_t rpc_pton(const char *, const size_t, | 167 | size_t rpc_pton(struct net *, const char *, const size_t, |
166 | struct sockaddr *, const size_t); | 168 | struct sockaddr *, const size_t); |
167 | char * rpc_sockaddr2uaddr(const struct sockaddr *, gfp_t); | 169 | char * rpc_sockaddr2uaddr(const struct sockaddr *, gfp_t); |
168 | size_t rpc_uaddr2sockaddr(const char *, const size_t, | 170 | size_t rpc_uaddr2sockaddr(struct net *, const char *, const size_t, |
169 | struct sockaddr *, const size_t); | 171 | struct sockaddr *, const size_t); |
170 | 172 | ||
171 | static inline unsigned short rpc_get_port(const struct sockaddr *sap) | 173 | static inline unsigned short rpc_get_port(const struct sockaddr *sap) |