Skip to content

Commit ee4efea

Browse files
mgurtovoyjgunthorpe
authored andcommitted
IB/iser: Use iser_fr_desc as registration context
After removing the FMR support in iSER, there is only one type of registration context. Replace the void pointer with the explicit structure for registration (struct iser_fr_desc). Link: https://lore.kernel.org/r/20220308145546.8372-3-mgurtovoy@nvidia.com Reviewed-by: Sergey Gorenko <sergeygo@nvidia.com> Signed-off-by: Max Gurtovoy <mgurtovoy@nvidia.com> Acked-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
1 parent 7f68d74 commit ee4efea

4 files changed

Lines changed: 11 additions & 11 deletions

File tree

drivers/infiniband/ulp/iser/iscsi_iser.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -203,12 +203,12 @@ struct iser_reg_resources;
203203
*
204204
* @sge: memory region sg element
205205
* @rkey: memory region remote key
206-
* @mem_h: pointer to registration context (FMR/Fastreg)
206+
* @desc: pointer to fast registration context
207207
*/
208208
struct iser_mem_reg {
209-
struct ib_sge sge;
210-
u32 rkey;
211-
void *mem_h;
209+
struct ib_sge sge;
210+
u32 rkey;
211+
struct iser_fr_desc *desc;
212212
};
213213

214214
enum iser_desc_type {

drivers/infiniband/ulp/iser/iser_initiator.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -619,13 +619,13 @@ static int iser_check_remote_inv(struct iser_conn *iser_conn, struct ib_wc *wc,
619619
struct iser_fr_desc *desc;
620620

621621
if (iser_task->dir[ISER_DIR_IN]) {
622-
desc = iser_task->rdma_reg[ISER_DIR_IN].mem_h;
622+
desc = iser_task->rdma_reg[ISER_DIR_IN].desc;
623623
if (unlikely(iser_inv_desc(desc, rkey)))
624624
return -EINVAL;
625625
}
626626

627627
if (iser_task->dir[ISER_DIR_OUT]) {
628-
desc = iser_task->rdma_reg[ISER_DIR_OUT].mem_h;
628+
desc = iser_task->rdma_reg[ISER_DIR_OUT].desc;
629629
if (unlikely(iser_inv_desc(desc, rkey)))
630630
return -EINVAL;
631631
}

drivers/infiniband/ulp/iser/iser_memory.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ void iser_unreg_mem_fastreg(struct iscsi_iser_task *iser_task,
129129
struct iser_fr_desc *desc;
130130
struct ib_mr_status mr_status;
131131

132-
desc = reg->mem_h;
132+
desc = reg->desc;
133133
if (!desc)
134134
return;
135135

@@ -146,8 +146,8 @@ void iser_unreg_mem_fastreg(struct iscsi_iser_task *iser_task,
146146
ib_check_mr_status(desc->rsc.sig_mr, IB_MR_CHECK_SIG_STATUS,
147147
&mr_status);
148148
}
149-
iser_reg_desc_put_fr(&iser_task->iser_conn->ib_conn, reg->mem_h);
150-
reg->mem_h = NULL;
149+
iser_reg_desc_put_fr(&iser_task->iser_conn->ib_conn, reg->desc);
150+
reg->desc = NULL;
151151
}
152152

153153
static void iser_set_dif_domain(struct scsi_cmnd *sc,
@@ -357,7 +357,7 @@ int iser_reg_mem_fastreg(struct iscsi_iser_task *task,
357357
desc->sig_protected = true;
358358
}
359359

360-
reg->mem_h = desc;
360+
reg->desc = desc;
361361

362362
return 0;
363363

drivers/infiniband/ulp/iser/iser_verbs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -904,7 +904,7 @@ u8 iser_check_task_pi_status(struct iscsi_iser_task *iser_task,
904904
enum iser_data_dir cmd_dir, sector_t *sector)
905905
{
906906
struct iser_mem_reg *reg = &iser_task->rdma_reg[cmd_dir];
907-
struct iser_fr_desc *desc = reg->mem_h;
907+
struct iser_fr_desc *desc = reg->desc;
908908
unsigned long sector_size = iser_task->sc->device->sector_size;
909909
struct ib_mr_status mr_status;
910910
int ret;

0 commit comments

Comments
 (0)