mirror of
https://github.com/torvalds/linux.git
synced 2024-11-29 07:31:29 +00:00
IB/iser: Remove dead code in fmr_pool alloc/free
In the past the we always tried to allocate an fmr_pool and if it failed on ENOSYS (not supported) then we continued with dma mr. This is not the case anymore and if we tried to allocate an fmr_pool then it is supported and we expect to succeed. Also, the check if fmr_pool is allocated when free is called is redundant as well as we are guaranteed it exists. Signed-off-by: Sagi Grimberg <sagig@mellanox.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
5190cc2664
commit
8c18ed03a9
@ -244,22 +244,18 @@ int iser_create_fmr_pool(struct ib_conn *ib_conn, unsigned cmds_max)
|
|||||||
IB_ACCESS_REMOTE_READ);
|
IB_ACCESS_REMOTE_READ);
|
||||||
|
|
||||||
ib_conn->fmr.pool = ib_create_fmr_pool(device->pd, ¶ms);
|
ib_conn->fmr.pool = ib_create_fmr_pool(device->pd, ¶ms);
|
||||||
if (!IS_ERR(ib_conn->fmr.pool))
|
if (IS_ERR(ib_conn->fmr.pool)) {
|
||||||
return 0;
|
ret = PTR_ERR(ib_conn->fmr.pool);
|
||||||
|
iser_err("FMR allocation failed, err %d\n", ret);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
/* no FMR => no need for page_vec */
|
return 0;
|
||||||
|
|
||||||
|
err:
|
||||||
kfree(ib_conn->fmr.page_vec);
|
kfree(ib_conn->fmr.page_vec);
|
||||||
ib_conn->fmr.page_vec = NULL;
|
ib_conn->fmr.page_vec = NULL;
|
||||||
|
return ret;
|
||||||
ret = PTR_ERR(ib_conn->fmr.pool);
|
|
||||||
ib_conn->fmr.pool = NULL;
|
|
||||||
if (ret != -ENOSYS) {
|
|
||||||
iser_err("FMR allocation failed, err %d\n", ret);
|
|
||||||
return ret;
|
|
||||||
} else {
|
|
||||||
iser_warn("FMRs are not supported, using unaligned mode\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -270,9 +266,7 @@ void iser_free_fmr_pool(struct ib_conn *ib_conn)
|
|||||||
iser_info("freeing conn %p fmr pool %p\n",
|
iser_info("freeing conn %p fmr pool %p\n",
|
||||||
ib_conn, ib_conn->fmr.pool);
|
ib_conn, ib_conn->fmr.pool);
|
||||||
|
|
||||||
if (ib_conn->fmr.pool != NULL)
|
ib_destroy_fmr_pool(ib_conn->fmr.pool);
|
||||||
ib_destroy_fmr_pool(ib_conn->fmr.pool);
|
|
||||||
|
|
||||||
ib_conn->fmr.pool = NULL;
|
ib_conn->fmr.pool = NULL;
|
||||||
|
|
||||||
kfree(ib_conn->fmr.page_vec);
|
kfree(ib_conn->fmr.page_vec);
|
||||||
|
Loading…
Reference in New Issue
Block a user