[PATCH] nvmet-rdma: remove NVMET_RDMA_REQ_INVALIDATE_RKEY flag

Sagi Grimberg sagi at grimberg.me
Wed Mar 20 03:45:08 PDT 2024



On 20/03/2024 11:20, Guixin Liu wrote:
> We can simply use invalidate_rkey to check instead of adding a flag.
>
> Signed-off-by: Guixin Liu <kanie at linux.alibaba.com>
> ---
>   drivers/nvme/target/rdma.c | 7 ++-----
>   1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/nvme/target/rdma.c b/drivers/nvme/target/rdma.c
> index f2bb9d95ecf4..d0bc72c75471 100644
> --- a/drivers/nvme/target/rdma.c
> +++ b/drivers/nvme/target/rdma.c
> @@ -53,7 +53,6 @@ struct nvmet_rdma_cmd {
>   
>   enum {
>   	NVMET_RDMA_REQ_INLINE_DATA	= (1 << 0),
> -	NVMET_RDMA_REQ_INVALIDATE_RKEY	= (1 << 1),
>   };
>   
>   struct nvmet_rdma_rsp {
> @@ -722,7 +721,7 @@ static void nvmet_rdma_queue_response(struct nvmet_req *req)
>   	struct rdma_cm_id *cm_id = rsp->queue->cm_id;
>   	struct ib_send_wr *first_wr;
>   
> -	if (rsp->flags & NVMET_RDMA_REQ_INVALIDATE_RKEY) {
> +	if (rsp->invalidate_rkey) {
>   		rsp->send_wr.opcode = IB_WR_SEND_WITH_INV;
>   		rsp->send_wr.ex.invalidate_rkey = rsp->invalidate_rkey;
>   	} else {
> @@ -905,10 +904,8 @@ static u16 nvmet_rdma_map_sgl_keyed(struct nvmet_rdma_rsp *rsp,
>   		goto error_out;
>   	rsp->n_rdma += ret;
>   
> -	if (invalidate) {
> +	if (invalidate)
>   		rsp->invalidate_rkey = key;
> -		rsp->flags |= NVMET_RDMA_REQ_INVALIDATE_RKEY;
> -	}
>   
>   	return 0;
>   

Who clears invalidate_rkey between executions?
I think you need to clear right after nvmet_rdma_get_rsp()



More information about the Linux-nvme mailing list