nvmet-rdma: remove p2p_client initialization from fast-path
authorMax Gurtovoy <maxg@mellanox.com>
Mon, 8 Apr 2019 15:39:58 +0000 (18:39 +0300)
committerChristoph Hellwig <hch@lst.de>
Thu, 25 Apr 2019 14:41:26 +0000 (16:41 +0200)
Initialize it during command allocation.

Cc: Logan Gunthorpe <logang@deltatee.com>
Cc: Stephen Bates <sbates@raithlin.com>
Signed-off-by: Max Gurtovoy <maxg@mellanox.com>
Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/target/rdma.c

index ef893addf341f260a0e6cf0e94fcdd21a5ff2e2e..b7275218dfa5a76fb937363c88e604388a834138 100644 (file)
@@ -373,6 +373,7 @@ static int nvmet_rdma_alloc_rsp(struct nvmet_rdma_device *ndev,
        if (ib_dma_mapping_error(ndev->device, r->send_sge.addr))
                goto out_free_rsp;
 
+       r->req.p2p_client = &ndev->device->dev;
        r->send_sge.length = sizeof(*r->req.rsp);
        r->send_sge.lkey = ndev->pd->local_dma_lkey;
 
@@ -763,8 +764,6 @@ static void nvmet_rdma_handle_command(struct nvmet_rdma_queue *queue,
                cmd->send_sge.addr, cmd->send_sge.length,
                DMA_TO_DEVICE);
 
-       cmd->req.p2p_client = &queue->dev->device->dev;
-
        if (!nvmet_req_init(&cmd->req, &queue->nvme_cq,
                        &queue->nvme_sq, &nvmet_rdma_ops))
                return;