xprtrdma: Remove rr_func
A posted rpcrdma_rep never has rr_func set to anything but rpcrdma_reply_handler. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Tested-By: Devesh Sharma <devesh.sharma@avagotech.com> Reviewed-by: Doug Ledford <dledford@redhat.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
parent
fed171b35c
commit
494ae30d2a
@ -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)
|
|||||||
|
|
||||||
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
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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;
|
|||||||
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;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user