提交 494ae30d 编写于 作者: C Chuck Lever 提交者: Anna Schumaker

xprtrdma: Remove rr_func

A posted rpcrdma_rep never has rr_func set to anything but
rpcrdma_reply_handler.
Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
Tested-By: NDevesh Sharma <devesh.sharma@avagotech.com>
Reviewed-by: NDoug Ledford <dledford@redhat.com>
Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
上级 fed171b3
...@@ -770,7 +770,6 @@ rpcrdma_reply_handler(struct rpcrdma_rep *rep) ...@@ -770,7 +770,6 @@ rpcrdma_reply_handler(struct rpcrdma_rep *rep)
rep->rr_len); rep->rr_len);
repost: repost:
r_xprt->rx_stats.bad_reply_count++; r_xprt->rx_stats.bad_reply_count++;
rep->rr_func = rpcrdma_reply_handler;
if (rpcrdma_ep_post_recv(&r_xprt->rx_ia, &r_xprt->rx_ep, rep)) if (rpcrdma_ep_post_recv(&r_xprt->rx_ia, &r_xprt->rx_ep, rep))
rpcrdma_recv_buffer_put(rep); rpcrdma_recv_buffer_put(rep);
......
...@@ -617,9 +617,6 @@ xprt_rdma_send_request(struct rpc_task *task) ...@@ -617,9 +617,6 @@ xprt_rdma_send_request(struct rpc_task *task)
if (req->rl_reply == NULL) /* e.g. reconnection */ if (req->rl_reply == NULL) /* e.g. reconnection */
rpcrdma_recv_buffer_get(req); rpcrdma_recv_buffer_get(req);
/* rpcrdma_recv_buffer_get may have set rl_reply, so check again */
if (req->rl_reply)
req->rl_reply->rr_func = rpcrdma_reply_handler;
/* Must suppress retransmit to maintain credits */ /* Must suppress retransmit to maintain credits */
if (req->rl_connect_cookie == xprt->connect_cookie) if (req->rl_connect_cookie == xprt->connect_cookie)
......
...@@ -80,7 +80,6 @@ static void ...@@ -80,7 +80,6 @@ static void
rpcrdma_run_tasklet(unsigned long data) rpcrdma_run_tasklet(unsigned long data)
{ {
struct rpcrdma_rep *rep; struct rpcrdma_rep *rep;
void (*func)(struct rpcrdma_rep *);
unsigned long flags; unsigned long flags;
data = data; data = data;
...@@ -89,14 +88,9 @@ rpcrdma_run_tasklet(unsigned long data) ...@@ -89,14 +88,9 @@ rpcrdma_run_tasklet(unsigned long data)
rep = list_entry(rpcrdma_tasklets_g.next, rep = list_entry(rpcrdma_tasklets_g.next,
struct rpcrdma_rep, rr_list); struct rpcrdma_rep, rr_list);
list_del(&rep->rr_list); list_del(&rep->rr_list);
func = rep->rr_func;
rep->rr_func = NULL;
spin_unlock_irqrestore(&rpcrdma_tk_lock_g, flags); spin_unlock_irqrestore(&rpcrdma_tk_lock_g, flags);
if (func) rpcrdma_reply_handler(rep);
func(rep);
else
rpcrdma_recv_buffer_put(rep);
spin_lock_irqsave(&rpcrdma_tk_lock_g, flags); spin_lock_irqsave(&rpcrdma_tk_lock_g, flags);
} }
...@@ -1213,7 +1207,6 @@ rpcrdma_buffer_put_sendbuf(struct rpcrdma_req *req, struct rpcrdma_buffer *buf) ...@@ -1213,7 +1207,6 @@ rpcrdma_buffer_put_sendbuf(struct rpcrdma_req *req, struct rpcrdma_buffer *buf)
req->rl_niovs = 0; req->rl_niovs = 0;
if (req->rl_reply) { if (req->rl_reply) {
buf->rb_recv_bufs[--buf->rb_recv_index] = req->rl_reply; buf->rb_recv_bufs[--buf->rb_recv_index] = req->rl_reply;
req->rl_reply->rr_func = NULL;
req->rl_reply = NULL; req->rl_reply = NULL;
} }
} }
...@@ -1428,7 +1421,6 @@ rpcrdma_recv_buffer_put(struct rpcrdma_rep *rep) ...@@ -1428,7 +1421,6 @@ rpcrdma_recv_buffer_put(struct rpcrdma_rep *rep)
struct rpcrdma_buffer *buffers = &rep->rr_rxprt->rx_buf; struct rpcrdma_buffer *buffers = &rep->rr_rxprt->rx_buf;
unsigned long flags; unsigned long flags;
rep->rr_func = NULL;
spin_lock_irqsave(&buffers->rb_lock, flags); spin_lock_irqsave(&buffers->rb_lock, flags);
buffers->rb_recv_bufs[--buffers->rb_recv_index] = rep; buffers->rb_recv_bufs[--buffers->rb_recv_index] = rep;
spin_unlock_irqrestore(&buffers->rb_lock, flags); spin_unlock_irqrestore(&buffers->rb_lock, flags);
......
...@@ -174,7 +174,6 @@ struct rpcrdma_buffer; ...@@ -174,7 +174,6 @@ struct rpcrdma_buffer;
struct rpcrdma_rep { struct rpcrdma_rep {
unsigned int rr_len; unsigned int rr_len;
struct rpcrdma_xprt *rr_rxprt; struct rpcrdma_xprt *rr_rxprt;
void (*rr_func)(struct rpcrdma_rep *);
struct list_head rr_list; struct list_head rr_list;
struct rpcrdma_regbuf *rr_rdmabuf; struct rpcrdma_regbuf *rr_rdmabuf;
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册