IB/srp: Dont allocate a page vector when using fast_reg
The new fast registration API does not reuqire a page vector so we can't avoid allocating it. Signed-off-by: Sagi Grimberg <sagig@mellanox.com> Tested-by: Bart Van Assche <bart.vanassche@sandisk.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
51c2b8e2ac
commit
9a21be531c
|
@ -840,11 +840,12 @@ static void srp_free_req_data(struct srp_target_port *target,
|
||||||
|
|
||||||
for (i = 0; i < target->req_ring_size; ++i) {
|
for (i = 0; i < target->req_ring_size; ++i) {
|
||||||
req = &ch->req_ring[i];
|
req = &ch->req_ring[i];
|
||||||
if (dev->use_fast_reg)
|
if (dev->use_fast_reg) {
|
||||||
kfree(req->fr_list);
|
kfree(req->fr_list);
|
||||||
else
|
} else {
|
||||||
kfree(req->fmr_list);
|
kfree(req->fmr_list);
|
||||||
kfree(req->map_page);
|
kfree(req->map_page);
|
||||||
|
}
|
||||||
if (req->indirect_dma_addr) {
|
if (req->indirect_dma_addr) {
|
||||||
ib_dma_unmap_single(ibdev, req->indirect_dma_addr,
|
ib_dma_unmap_single(ibdev, req->indirect_dma_addr,
|
||||||
target->indirect_size,
|
target->indirect_size,
|
||||||
|
@ -878,14 +879,15 @@ static int srp_alloc_req_data(struct srp_rdma_ch *ch)
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
if (!mr_list)
|
if (!mr_list)
|
||||||
goto out;
|
goto out;
|
||||||
if (srp_dev->use_fast_reg)
|
if (srp_dev->use_fast_reg) {
|
||||||
req->fr_list = mr_list;
|
req->fr_list = mr_list;
|
||||||
else
|
} else {
|
||||||
req->fmr_list = mr_list;
|
req->fmr_list = mr_list;
|
||||||
req->map_page = kmalloc(srp_dev->max_pages_per_mr *
|
req->map_page = kmalloc(srp_dev->max_pages_per_mr *
|
||||||
sizeof(void *), GFP_KERNEL);
|
sizeof(void *), GFP_KERNEL);
|
||||||
if (!req->map_page)
|
if (!req->map_page)
|
||||||
goto out;
|
goto out;
|
||||||
|
}
|
||||||
req->indirect_desc = kmalloc(target->indirect_size, GFP_KERNEL);
|
req->indirect_desc = kmalloc(target->indirect_size, GFP_KERNEL);
|
||||||
if (!req->indirect_desc)
|
if (!req->indirect_desc)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
Loading…
Reference in New Issue