xprtrdma: Add a field of bit flags to struct rpcrdma_req
We have one boolean flag in rpcrdma_req today. I'd like to add more flags, so convert that boolean to a bit flag. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
Родитель
ae72950abf
Коммит
531cca0c9b
|
@ -42,7 +42,7 @@ static int rpcrdma_bc_setup_rqst(struct rpcrdma_xprt *r_xprt,
|
||||||
req = rpcrdma_create_req(r_xprt);
|
req = rpcrdma_create_req(r_xprt);
|
||||||
if (IS_ERR(req))
|
if (IS_ERR(req))
|
||||||
return PTR_ERR(req);
|
return PTR_ERR(req);
|
||||||
req->rl_backchannel = true;
|
__set_bit(RPCRDMA_REQ_F_BACKCHANNEL, &req->rl_flags);
|
||||||
|
|
||||||
rb = rpcrdma_alloc_regbuf(RPCRDMA_HDRBUF_SIZE,
|
rb = rpcrdma_alloc_regbuf(RPCRDMA_HDRBUF_SIZE,
|
||||||
DMA_TO_DEVICE, GFP_KERNEL);
|
DMA_TO_DEVICE, GFP_KERNEL);
|
||||||
|
|
|
@ -680,7 +680,7 @@ xprt_rdma_free(struct rpc_task *task)
|
||||||
struct rpcrdma_req *req = rpcr_to_rdmar(rqst);
|
struct rpcrdma_req *req = rpcr_to_rdmar(rqst);
|
||||||
struct rpcrdma_ia *ia = &r_xprt->rx_ia;
|
struct rpcrdma_ia *ia = &r_xprt->rx_ia;
|
||||||
|
|
||||||
if (req->rl_backchannel)
|
if (test_bit(RPCRDMA_REQ_F_BACKCHANNEL, &req->rl_flags))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
dprintk("RPC: %s: called on 0x%p\n", __func__, req->rl_reply);
|
dprintk("RPC: %s: called on 0x%p\n", __func__, req->rl_reply);
|
||||||
|
|
|
@ -1167,7 +1167,6 @@ rpcrdma_buffer_create(struct rpcrdma_xprt *r_xprt)
|
||||||
rc = PTR_ERR(req);
|
rc = PTR_ERR(req);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
req->rl_backchannel = false;
|
|
||||||
list_add(&req->rl_list, &buf->rb_send_bufs);
|
list_add(&req->rl_list, &buf->rb_send_bufs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -377,12 +377,17 @@ struct rpcrdma_req {
|
||||||
struct rpcrdma_regbuf *rl_recvbuf; /* rq_rcv_buf */
|
struct rpcrdma_regbuf *rl_recvbuf; /* rq_rcv_buf */
|
||||||
|
|
||||||
struct list_head rl_all;
|
struct list_head rl_all;
|
||||||
bool rl_backchannel;
|
unsigned long rl_flags;
|
||||||
|
|
||||||
struct list_head rl_registered; /* registered segments */
|
struct list_head rl_registered; /* registered segments */
|
||||||
struct rpcrdma_mr_seg rl_segments[RPCRDMA_MAX_SEGS];
|
struct rpcrdma_mr_seg rl_segments[RPCRDMA_MAX_SEGS];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* rl_flags */
|
||||||
|
enum {
|
||||||
|
RPCRDMA_REQ_F_BACKCHANNEL = 0,
|
||||||
|
};
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
rpcrdma_set_xprtdata(struct rpc_rqst *rqst, struct rpcrdma_req *req)
|
rpcrdma_set_xprtdata(struct rpc_rqst *rqst, struct rpcrdma_req *req)
|
||||||
{
|
{
|
||||||
|
|
Загрузка…
Ссылка в новой задаче