diff options
author | David Woodhouse <dwmw2@infradead.org> | 2007-01-17 18:34:51 -0500 |
---|---|---|
committer | David Woodhouse <dwmw2@infradead.org> | 2007-01-17 18:34:51 -0500 |
commit | 9cdf083f981b8d37b3212400a359368661385099 (patch) | |
tree | aa15a6a08ad87e650dea40fb59b3180bef0d345b /include/linux/sunrpc | |
parent | e499e01d234a31d59679b7b1e1cf628d917ba49a (diff) | |
parent | a8b3485287731978899ced11f24628c927890e78 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'include/linux/sunrpc')
-rw-r--r-- | include/linux/sunrpc/auth_gss.h | 2 | ||||
-rw-r--r-- | include/linux/sunrpc/clnt.h | 1 | ||||
-rw-r--r-- | include/linux/sunrpc/debug.h | 6 | ||||
-rw-r--r-- | include/linux/sunrpc/gss_krb5.h | 6 | ||||
-rw-r--r-- | include/linux/sunrpc/gss_spkm3.h | 34 | ||||
-rw-r--r-- | include/linux/sunrpc/rpc_pipe_fs.h | 2 | ||||
-rw-r--r-- | include/linux/sunrpc/sched.h | 15 | ||||
-rw-r--r-- | include/linux/sunrpc/xdr.h | 25 | ||||
-rw-r--r-- | include/linux/sunrpc/xprt.h | 37 |
9 files changed, 40 insertions, 88 deletions
diff --git a/include/linux/sunrpc/auth_gss.h b/include/linux/sunrpc/auth_gss.h index 97b62e97dd8d..2db2fbf34947 100644 --- a/include/linux/sunrpc/auth_gss.h +++ b/include/linux/sunrpc/auth_gss.h | |||
@@ -90,8 +90,6 @@ struct gss_cred { | |||
90 | #define gc_flags gc_base.cr_flags | 90 | #define gc_flags gc_base.cr_flags |
91 | #define gc_expire gc_base.cr_expire | 91 | #define gc_expire gc_base.cr_expire |
92 | 92 | ||
93 | void print_hexl(u32 *p, u_int length, u_int offset); | ||
94 | |||
95 | #endif /* __KERNEL__ */ | 93 | #endif /* __KERNEL__ */ |
96 | #endif /* _LINUX_SUNRPC_AUTH_GSS_H */ | 94 | #endif /* _LINUX_SUNRPC_AUTH_GSS_H */ |
97 | 95 | ||
diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h index f6d1d646ce05..a1be89deb3af 100644 --- a/include/linux/sunrpc/clnt.h +++ b/include/linux/sunrpc/clnt.h | |||
@@ -53,6 +53,7 @@ struct rpc_clnt { | |||
53 | struct dentry * cl_dentry; /* inode */ | 53 | struct dentry * cl_dentry; /* inode */ |
54 | struct rpc_clnt * cl_parent; /* Points to parent of clones */ | 54 | struct rpc_clnt * cl_parent; /* Points to parent of clones */ |
55 | struct rpc_rtt cl_rtt_default; | 55 | struct rpc_rtt cl_rtt_default; |
56 | struct rpc_program * cl_program; | ||
56 | char cl_inline_name[32]; | 57 | char cl_inline_name[32]; |
57 | }; | 58 | }; |
58 | 59 | ||
diff --git a/include/linux/sunrpc/debug.h b/include/linux/sunrpc/debug.h index e4729aa67654..60fce3c92857 100644 --- a/include/linux/sunrpc/debug.h +++ b/include/linux/sunrpc/debug.h | |||
@@ -62,12 +62,6 @@ extern unsigned int nlm_debug; | |||
62 | # define RPC_IFDEBUG(x) | 62 | # define RPC_IFDEBUG(x) |
63 | #endif | 63 | #endif |
64 | 64 | ||
65 | #ifdef RPC_PROFILE | ||
66 | # define pprintk(args...) printk(## args) | ||
67 | #else | ||
68 | # define pprintk(args...) do ; while (0) | ||
69 | #endif | ||
70 | |||
71 | /* | 65 | /* |
72 | * Sysctl interface for RPC debugging | 66 | * Sysctl interface for RPC debugging |
73 | */ | 67 | */ |
diff --git a/include/linux/sunrpc/gss_krb5.h b/include/linux/sunrpc/gss_krb5.h index e30ba201910a..5a4b1e0206e3 100644 --- a/include/linux/sunrpc/gss_krb5.h +++ b/include/linux/sunrpc/gss_krb5.h | |||
@@ -42,10 +42,6 @@ | |||
42 | 42 | ||
43 | struct krb5_ctx { | 43 | struct krb5_ctx { |
44 | int initiate; /* 1 = initiating, 0 = accepting */ | 44 | int initiate; /* 1 = initiating, 0 = accepting */ |
45 | int seed_init; | ||
46 | unsigned char seed[16]; | ||
47 | int signalg; | ||
48 | int sealalg; | ||
49 | struct crypto_blkcipher *enc; | 45 | struct crypto_blkcipher *enc; |
50 | struct crypto_blkcipher *seq; | 46 | struct crypto_blkcipher *seq; |
51 | s32 endtime; | 47 | s32 endtime; |
@@ -117,7 +113,7 @@ enum seal_alg { | |||
117 | #define ENCTYPE_UNKNOWN 0x01ff | 113 | #define ENCTYPE_UNKNOWN 0x01ff |
118 | 114 | ||
119 | s32 | 115 | s32 |
120 | make_checksum(s32 cksumtype, char *header, int hdrlen, struct xdr_buf *body, | 116 | make_checksum(char *, char *header, int hdrlen, struct xdr_buf *body, |
121 | int body_offset, struct xdr_netobj *cksum); | 117 | int body_offset, struct xdr_netobj *cksum); |
122 | 118 | ||
123 | u32 gss_get_mic_kerberos(struct gss_ctx *, struct xdr_buf *, | 119 | u32 gss_get_mic_kerberos(struct gss_ctx *, struct xdr_buf *, |
diff --git a/include/linux/sunrpc/gss_spkm3.h b/include/linux/sunrpc/gss_spkm3.h index 2cf3fbb40b4f..e3e6a3437f8b 100644 --- a/include/linux/sunrpc/gss_spkm3.h +++ b/include/linux/sunrpc/gss_spkm3.h | |||
@@ -12,27 +12,19 @@ | |||
12 | #include <linux/sunrpc/gss_asn1.h> | 12 | #include <linux/sunrpc/gss_asn1.h> |
13 | 13 | ||
14 | struct spkm3_ctx { | 14 | struct spkm3_ctx { |
15 | struct xdr_netobj ctx_id; /* per message context id */ | 15 | struct xdr_netobj ctx_id; /* per message context id */ |
16 | int qop; /* negotiated qop */ | 16 | int endtime; /* endtime of the context */ |
17 | struct xdr_netobj mech_used; | 17 | struct xdr_netobj mech_used; |
18 | unsigned int ret_flags ; | 18 | unsigned int ret_flags ; |
19 | unsigned int req_flags ; | 19 | struct xdr_netobj conf_alg; |
20 | struct xdr_netobj share_key; | 20 | struct xdr_netobj derived_conf_key; |
21 | int conf_alg; | 21 | struct xdr_netobj intg_alg; |
22 | struct crypto_blkcipher *derived_conf_key; | 22 | struct xdr_netobj derived_integ_key; |
23 | int intg_alg; | ||
24 | struct crypto_blkcipher *derived_integ_key; | ||
25 | int keyestb_alg; /* alg used to get share_key */ | ||
26 | int owf_alg; /* one way function */ | ||
27 | }; | 23 | }; |
28 | 24 | ||
29 | /* from openssl/objects.h */ | 25 | /* OIDs declarations for K-ALG, I-ALG, C-ALG, and OWF-ALG */ |
30 | /* XXX need SEAL_ALG_NONE */ | 26 | extern const struct xdr_netobj hmac_md5_oid; |
31 | #define NID_md5 4 | 27 | extern const struct xdr_netobj cast5_cbc_oid; |
32 | #define NID_dhKeyAgreement 28 | ||
33 | #define NID_des_cbc 31 | ||
34 | #define NID_sha1 64 | ||
35 | #define NID_cast5_cbc 108 | ||
36 | 28 | ||
37 | /* SPKM InnerContext Token types */ | 29 | /* SPKM InnerContext Token types */ |
38 | 30 | ||
@@ -46,11 +38,13 @@ u32 spkm3_make_token(struct spkm3_ctx *ctx, struct xdr_buf * text, struct xdr_ne | |||
46 | u32 spkm3_read_token(struct spkm3_ctx *ctx, struct xdr_netobj *read_token, struct xdr_buf *message_buffer, int toktype); | 38 | u32 spkm3_read_token(struct spkm3_ctx *ctx, struct xdr_netobj *read_token, struct xdr_buf *message_buffer, int toktype); |
47 | 39 | ||
48 | #define CKSUMTYPE_RSA_MD5 0x0007 | 40 | #define CKSUMTYPE_RSA_MD5 0x0007 |
41 | #define CKSUMTYPE_HMAC_MD5 0x0008 | ||
49 | 42 | ||
50 | s32 make_checksum(s32 cksumtype, char *header, int hdrlen, struct xdr_buf *body, | 43 | s32 make_spkm3_checksum(s32 cksumtype, struct xdr_netobj *key, char *header, |
51 | int body_offset, struct xdr_netobj *cksum); | 44 | unsigned int hdrlen, struct xdr_buf *body, |
45 | unsigned int body_offset, struct xdr_netobj *cksum); | ||
52 | void asn1_bitstring_len(struct xdr_netobj *in, int *enclen, int *zerobits); | 46 | void asn1_bitstring_len(struct xdr_netobj *in, int *enclen, int *zerobits); |
53 | int decode_asn1_bitstring(struct xdr_netobj *out, char *in, int enclen, | 47 | int decode_asn1_bitstring(struct xdr_netobj *out, char *in, int enclen, |
54 | int explen); | 48 | int explen); |
55 | void spkm3_mic_header(unsigned char **hdrbuf, unsigned int *hdrlen, | 49 | void spkm3_mic_header(unsigned char **hdrbuf, unsigned int *hdrlen, |
56 | unsigned char *ctxhdr, int elen, int zbit); | 50 | unsigned char *ctxhdr, int elen, int zbit); |
diff --git a/include/linux/sunrpc/rpc_pipe_fs.h b/include/linux/sunrpc/rpc_pipe_fs.h index a2eb9b4a9de3..4a68125b6de6 100644 --- a/include/linux/sunrpc/rpc_pipe_fs.h +++ b/include/linux/sunrpc/rpc_pipe_fs.h | |||
@@ -30,7 +30,7 @@ struct rpc_inode { | |||
30 | #define RPC_PIPE_WAIT_FOR_OPEN 1 | 30 | #define RPC_PIPE_WAIT_FOR_OPEN 1 |
31 | int flags; | 31 | int flags; |
32 | struct rpc_pipe_ops *ops; | 32 | struct rpc_pipe_ops *ops; |
33 | struct work_struct queue_timeout; | 33 | struct delayed_work queue_timeout; |
34 | }; | 34 | }; |
35 | 35 | ||
36 | static inline struct rpc_inode * | 36 | static inline struct rpc_inode * |
diff --git a/include/linux/sunrpc/sched.h b/include/linux/sunrpc/sched.h index f399c138f79d..97c761652581 100644 --- a/include/linux/sunrpc/sched.h +++ b/include/linux/sunrpc/sched.h | |||
@@ -11,6 +11,7 @@ | |||
11 | 11 | ||
12 | #include <linux/timer.h> | 12 | #include <linux/timer.h> |
13 | #include <linux/sunrpc/types.h> | 13 | #include <linux/sunrpc/types.h> |
14 | #include <linux/rcupdate.h> | ||
14 | #include <linux/spinlock.h> | 15 | #include <linux/spinlock.h> |
15 | #include <linux/wait.h> | 16 | #include <linux/wait.h> |
16 | #include <linux/workqueue.h> | 17 | #include <linux/workqueue.h> |
@@ -85,6 +86,7 @@ struct rpc_task { | |||
85 | union { | 86 | union { |
86 | struct work_struct tk_work; /* Async task work queue */ | 87 | struct work_struct tk_work; /* Async task work queue */ |
87 | struct rpc_wait tk_wait; /* RPC wait */ | 88 | struct rpc_wait tk_wait; /* RPC wait */ |
89 | struct rcu_head tk_rcu; /* for task deletion */ | ||
88 | } u; | 90 | } u; |
89 | 91 | ||
90 | unsigned short tk_timeouts; /* maj timeouts */ | 92 | unsigned short tk_timeouts; /* maj timeouts */ |
@@ -178,13 +180,6 @@ struct rpc_call_ops { | |||
178 | } while (0) | 180 | } while (0) |
179 | 181 | ||
180 | #define RPC_IS_ACTIVATED(t) (test_bit(RPC_TASK_ACTIVE, &(t)->tk_runstate)) | 182 | #define RPC_IS_ACTIVATED(t) (test_bit(RPC_TASK_ACTIVE, &(t)->tk_runstate)) |
181 | #define rpc_set_active(t) (set_bit(RPC_TASK_ACTIVE, &(t)->tk_runstate)) | ||
182 | #define rpc_clear_active(t) \ | ||
183 | do { \ | ||
184 | smp_mb__before_clear_bit(); \ | ||
185 | clear_bit(RPC_TASK_ACTIVE, &(t)->tk_runstate); \ | ||
186 | smp_mb__after_clear_bit(); \ | ||
187 | } while(0) | ||
188 | 183 | ||
189 | /* | 184 | /* |
190 | * Task priorities. | 185 | * Task priorities. |
@@ -222,7 +217,7 @@ struct rpc_wait_queue { | |||
222 | 217 | ||
223 | #ifndef RPC_DEBUG | 218 | #ifndef RPC_DEBUG |
224 | # define RPC_WAITQ_INIT(var,qname) { \ | 219 | # define RPC_WAITQ_INIT(var,qname) { \ |
225 | .lock = SPIN_LOCK_UNLOCKED, \ | 220 | .lock = __SPIN_LOCK_UNLOCKED(var.lock), \ |
226 | .tasks = { \ | 221 | .tasks = { \ |
227 | [0] = LIST_HEAD_INIT(var.tasks[0]), \ | 222 | [0] = LIST_HEAD_INIT(var.tasks[0]), \ |
228 | [1] = LIST_HEAD_INIT(var.tasks[1]), \ | 223 | [1] = LIST_HEAD_INIT(var.tasks[1]), \ |
@@ -231,7 +226,7 @@ struct rpc_wait_queue { | |||
231 | } | 226 | } |
232 | #else | 227 | #else |
233 | # define RPC_WAITQ_INIT(var,qname) { \ | 228 | # define RPC_WAITQ_INIT(var,qname) { \ |
234 | .lock = SPIN_LOCK_UNLOCKED, \ | 229 | .lock = __SPIN_LOCK_UNLOCKED(var.lock), \ |
235 | .tasks = { \ | 230 | .tasks = { \ |
236 | [0] = LIST_HEAD_INIT(var.tasks[0]), \ | 231 | [0] = LIST_HEAD_INIT(var.tasks[0]), \ |
237 | [1] = LIST_HEAD_INIT(var.tasks[1]), \ | 232 | [1] = LIST_HEAD_INIT(var.tasks[1]), \ |
@@ -254,8 +249,10 @@ struct rpc_task *rpc_run_task(struct rpc_clnt *clnt, int flags, | |||
254 | void rpc_init_task(struct rpc_task *task, struct rpc_clnt *clnt, | 249 | void rpc_init_task(struct rpc_task *task, struct rpc_clnt *clnt, |
255 | int flags, const struct rpc_call_ops *ops, | 250 | int flags, const struct rpc_call_ops *ops, |
256 | void *data); | 251 | void *data); |
252 | void rpc_put_task(struct rpc_task *); | ||
257 | void rpc_release_task(struct rpc_task *); | 253 | void rpc_release_task(struct rpc_task *); |
258 | void rpc_exit_task(struct rpc_task *); | 254 | void rpc_exit_task(struct rpc_task *); |
255 | void rpc_release_calldata(const struct rpc_call_ops *, void *); | ||
259 | void rpc_killall_tasks(struct rpc_clnt *); | 256 | void rpc_killall_tasks(struct rpc_clnt *); |
260 | int rpc_execute(struct rpc_task *); | 257 | int rpc_execute(struct rpc_task *); |
261 | void rpc_init_priority_wait_queue(struct rpc_wait_queue *, const char *); | 258 | void rpc_init_priority_wait_queue(struct rpc_wait_queue *, const char *); |
diff --git a/include/linux/sunrpc/xdr.h b/include/linux/sunrpc/xdr.h index ac69e5511606..9e340fa23c06 100644 --- a/include/linux/sunrpc/xdr.h +++ b/include/linux/sunrpc/xdr.h | |||
@@ -11,6 +11,7 @@ | |||
11 | 11 | ||
12 | #include <linux/uio.h> | 12 | #include <linux/uio.h> |
13 | #include <asm/byteorder.h> | 13 | #include <asm/byteorder.h> |
14 | #include <linux/scatterlist.h> | ||
14 | 15 | ||
15 | /* | 16 | /* |
16 | * Buffer adjustment | 17 | * Buffer adjustment |
@@ -139,29 +140,30 @@ xdr_adjust_iovec(struct kvec *iov, __be32 *p) | |||
139 | */ | 140 | */ |
140 | extern void xdr_shift_buf(struct xdr_buf *, size_t); | 141 | extern void xdr_shift_buf(struct xdr_buf *, size_t); |
141 | extern void xdr_buf_from_iov(struct kvec *, struct xdr_buf *); | 142 | extern void xdr_buf_from_iov(struct kvec *, struct xdr_buf *); |
142 | extern int xdr_buf_subsegment(struct xdr_buf *, struct xdr_buf *, int, int); | 143 | extern int xdr_buf_subsegment(struct xdr_buf *, struct xdr_buf *, unsigned int, unsigned int); |
143 | extern int xdr_buf_read_netobj(struct xdr_buf *, struct xdr_netobj *, int); | 144 | extern int xdr_buf_read_netobj(struct xdr_buf *, struct xdr_netobj *, unsigned int); |
144 | extern int read_bytes_from_xdr_buf(struct xdr_buf *, int, void *, int); | 145 | extern int read_bytes_from_xdr_buf(struct xdr_buf *, unsigned int, void *, unsigned int); |
145 | extern int write_bytes_to_xdr_buf(struct xdr_buf *, int, void *, int); | 146 | extern int write_bytes_to_xdr_buf(struct xdr_buf *, unsigned int, void *, unsigned int); |
146 | 147 | ||
147 | /* | 148 | /* |
148 | * Helper structure for copying from an sk_buff. | 149 | * Helper structure for copying from an sk_buff. |
149 | */ | 150 | */ |
150 | typedef struct { | 151 | struct xdr_skb_reader { |
151 | struct sk_buff *skb; | 152 | struct sk_buff *skb; |
152 | unsigned int offset; | 153 | unsigned int offset; |
153 | size_t count; | 154 | size_t count; |
154 | unsigned int csum; | 155 | __wsum csum; |
155 | } skb_reader_t; | 156 | }; |
156 | 157 | ||
157 | typedef size_t (*skb_read_actor_t)(skb_reader_t *desc, void *to, size_t len); | 158 | typedef size_t (*xdr_skb_read_actor)(struct xdr_skb_reader *desc, void *to, size_t len); |
158 | 159 | ||
160 | size_t xdr_skb_read_bits(struct xdr_skb_reader *desc, void *to, size_t len); | ||
159 | extern int csum_partial_copy_to_xdr(struct xdr_buf *, struct sk_buff *); | 161 | extern int csum_partial_copy_to_xdr(struct xdr_buf *, struct sk_buff *); |
160 | extern ssize_t xdr_partial_copy_from_skb(struct xdr_buf *, unsigned int, | 162 | extern ssize_t xdr_partial_copy_from_skb(struct xdr_buf *, unsigned int, |
161 | skb_reader_t *, skb_read_actor_t); | 163 | struct xdr_skb_reader *, xdr_skb_read_actor); |
162 | 164 | ||
163 | extern int xdr_encode_word(struct xdr_buf *, int, u32); | 165 | extern int xdr_encode_word(struct xdr_buf *, unsigned int, u32); |
164 | extern int xdr_decode_word(struct xdr_buf *, int, u32 *); | 166 | extern int xdr_decode_word(struct xdr_buf *, unsigned int, u32 *); |
165 | 167 | ||
166 | struct xdr_array2_desc; | 168 | struct xdr_array2_desc; |
167 | typedef int (*xdr_xcode_elem_t)(struct xdr_array2_desc *desc, void *elem); | 169 | typedef int (*xdr_xcode_elem_t)(struct xdr_array2_desc *desc, void *elem); |
@@ -196,6 +198,7 @@ extern void xdr_init_decode(struct xdr_stream *xdr, struct xdr_buf *buf, __be32 | |||
196 | extern __be32 *xdr_inline_decode(struct xdr_stream *xdr, size_t nbytes); | 198 | extern __be32 *xdr_inline_decode(struct xdr_stream *xdr, size_t nbytes); |
197 | extern void xdr_read_pages(struct xdr_stream *xdr, unsigned int len); | 199 | extern void xdr_read_pages(struct xdr_stream *xdr, unsigned int len); |
198 | extern void xdr_enter_page(struct xdr_stream *xdr, unsigned int len); | 200 | extern void xdr_enter_page(struct xdr_stream *xdr, unsigned int len); |
201 | extern int xdr_process_buf(struct xdr_buf *buf, unsigned int offset, unsigned int len, int (*actor)(struct scatterlist *, void *), void *data); | ||
199 | 202 | ||
200 | #endif /* __KERNEL__ */ | 203 | #endif /* __KERNEL__ */ |
201 | 204 | ||
diff --git a/include/linux/sunrpc/xprt.h b/include/linux/sunrpc/xprt.h index 60394fbc4c70..f780e72fc417 100644 --- a/include/linux/sunrpc/xprt.h +++ b/include/linux/sunrpc/xprt.h | |||
@@ -106,7 +106,6 @@ struct rpc_rqst { | |||
106 | 106 | ||
107 | struct rpc_xprt_ops { | 107 | struct rpc_xprt_ops { |
108 | void (*set_buffer_size)(struct rpc_xprt *xprt, size_t sndsize, size_t rcvsize); | 108 | void (*set_buffer_size)(struct rpc_xprt *xprt, size_t sndsize, size_t rcvsize); |
109 | char * (*print_addr)(struct rpc_xprt *xprt, enum rpc_display_format_t format); | ||
110 | int (*reserve_xprt)(struct rpc_task *task); | 109 | int (*reserve_xprt)(struct rpc_task *task); |
111 | void (*release_xprt)(struct rpc_xprt *xprt, struct rpc_task *task); | 110 | void (*release_xprt)(struct rpc_xprt *xprt, struct rpc_task *task); |
112 | void (*rpcbind)(struct rpc_task *task); | 111 | void (*rpcbind)(struct rpc_task *task); |
@@ -126,8 +125,6 @@ struct rpc_xprt_ops { | |||
126 | struct rpc_xprt { | 125 | struct rpc_xprt { |
127 | struct kref kref; /* Reference count */ | 126 | struct kref kref; /* Reference count */ |
128 | struct rpc_xprt_ops * ops; /* transport methods */ | 127 | struct rpc_xprt_ops * ops; /* transport methods */ |
129 | struct socket * sock; /* BSD socket layer */ | ||
130 | struct sock * inet; /* INET layer */ | ||
131 | 128 | ||
132 | struct rpc_timeout timeout; /* timeout parms */ | 129 | struct rpc_timeout timeout; /* timeout parms */ |
133 | struct sockaddr_storage addr; /* server address */ | 130 | struct sockaddr_storage addr; /* server address */ |
@@ -137,9 +134,6 @@ struct rpc_xprt { | |||
137 | unsigned long cong; /* current congestion */ | 134 | unsigned long cong; /* current congestion */ |
138 | unsigned long cwnd; /* congestion window */ | 135 | unsigned long cwnd; /* congestion window */ |
139 | 136 | ||
140 | size_t rcvsize, /* transport rcv buffer size */ | ||
141 | sndsize; /* transport send buffer size */ | ||
142 | |||
143 | size_t max_payload; /* largest RPC payload size, | 137 | size_t max_payload; /* largest RPC payload size, |
144 | in bytes */ | 138 | in bytes */ |
145 | unsigned int tsh_size; /* size of transport specific | 139 | unsigned int tsh_size; /* size of transport specific |
@@ -158,27 +152,11 @@ struct rpc_xprt { | |||
158 | resvport : 1; /* use a reserved port */ | 152 | resvport : 1; /* use a reserved port */ |
159 | 153 | ||
160 | /* | 154 | /* |
161 | * XID | ||
162 | */ | ||
163 | __u32 xid; /* Next XID value to use */ | ||
164 | |||
165 | /* | ||
166 | * State of TCP reply receive stuff | ||
167 | */ | ||
168 | __be32 tcp_recm, /* Fragment header */ | ||
169 | tcp_xid; /* Current XID */ | ||
170 | u32 tcp_reclen, /* fragment length */ | ||
171 | tcp_offset; /* fragment offset */ | ||
172 | unsigned long tcp_copied, /* copied to request */ | ||
173 | tcp_flags; | ||
174 | /* | ||
175 | * Connection of transports | 155 | * Connection of transports |
176 | */ | 156 | */ |
177 | unsigned long connect_timeout, | 157 | unsigned long connect_timeout, |
178 | bind_timeout, | 158 | bind_timeout, |
179 | reestablish_timeout; | 159 | reestablish_timeout; |
180 | struct work_struct connect_worker; | ||
181 | unsigned short port; | ||
182 | 160 | ||
183 | /* | 161 | /* |
184 | * Disconnection of idle transports | 162 | * Disconnection of idle transports |
@@ -193,8 +171,8 @@ struct rpc_xprt { | |||
193 | */ | 171 | */ |
194 | spinlock_t transport_lock; /* lock transport info */ | 172 | spinlock_t transport_lock; /* lock transport info */ |
195 | spinlock_t reserve_lock; /* lock slot table */ | 173 | spinlock_t reserve_lock; /* lock slot table */ |
174 | u32 xid; /* Next XID value to use */ | ||
196 | struct rpc_task * snd_task; /* Task blocked in send */ | 175 | struct rpc_task * snd_task; /* Task blocked in send */ |
197 | |||
198 | struct list_head recv; | 176 | struct list_head recv; |
199 | 177 | ||
200 | struct { | 178 | struct { |
@@ -210,18 +188,9 @@ struct rpc_xprt { | |||
210 | bklog_u; /* backlog queue utilization */ | 188 | bklog_u; /* backlog queue utilization */ |
211 | } stat; | 189 | } stat; |
212 | 190 | ||
213 | void (*old_data_ready)(struct sock *, int); | ||
214 | void (*old_state_change)(struct sock *); | ||
215 | void (*old_write_space)(struct sock *); | ||
216 | |||
217 | char * address_strings[RPC_DISPLAY_MAX]; | 191 | char * address_strings[RPC_DISPLAY_MAX]; |
218 | }; | 192 | }; |
219 | 193 | ||
220 | #define XPRT_LAST_FRAG (1 << 0) | ||
221 | #define XPRT_COPY_RECM (1 << 1) | ||
222 | #define XPRT_COPY_XID (1 << 2) | ||
223 | #define XPRT_COPY_DATA (1 << 3) | ||
224 | |||
225 | #ifdef __KERNEL__ | 194 | #ifdef __KERNEL__ |
226 | 195 | ||
227 | /* | 196 | /* |
@@ -270,8 +239,8 @@ void xprt_disconnect(struct rpc_xprt *xprt); | |||
270 | /* | 239 | /* |
271 | * Socket transport setup operations | 240 | * Socket transport setup operations |
272 | */ | 241 | */ |
273 | int xs_setup_udp(struct rpc_xprt *xprt, struct rpc_timeout *to); | 242 | struct rpc_xprt * xs_setup_udp(struct sockaddr *addr, size_t addrlen, struct rpc_timeout *to); |
274 | int xs_setup_tcp(struct rpc_xprt *xprt, struct rpc_timeout *to); | 243 | struct rpc_xprt * xs_setup_tcp(struct sockaddr *addr, size_t addrlen, struct rpc_timeout *to); |
275 | 244 | ||
276 | /* | 245 | /* |
277 | * Reserved bit positions in xprt->state | 246 | * Reserved bit positions in xprt->state |