[PATCH 2/2] nvme-rdma: add support for arbitrary sg lists mapping
Max Gurtovoy
maxg at mellanox.com
Wed Apr 12 15:58:22 PDT 2017
On 4/12/2017 8:17 PM, Christoph Hellwig wrote:
>> - req->mr = ib_alloc_mr(dev->pd, IB_MR_TYPE_MEM_REG,
>> + req->mr = ib_alloc_mr(dev->pd, req->mr_type,
>> ctrl->max_fr_pages);
>> if (IS_ERR(req->mr)) {
>> ret = PTR_ERR(req->mr);
>> @@ -348,8 +349,12 @@ static int __nvme_rdma_init_request(struct nvme_rdma_ctrl *ctrl,
>> if (ret)
>> return ret;
>>
>> - req->mr = ib_alloc_mr(dev->pd, IB_MR_TYPE_MEM_REG,
>> - ctrl->max_fr_pages);
>> + if (ibdev->attrs.device_cap_flags & IB_DEVICE_SG_GAPS_REG)
>> + req->mr_type = IB_MR_TYPE_SG_GAPS;
>> + else
>> + req->mr_type = IB_MR_TYPE_MEM_REG;
>
> Why do we need the req->mr_type member? Can't we just check the device
> aps in the reinit path as well?
>
I guess we can. Is it better to use an helper func to avoid code
duplication ? if so, maybe we can do a general fuctions in verbs.h so
iser can use it too ?
More information about the Linux-nvme
mailing list