@@ -2517,9 +2517,8 @@ struct smbdirect_mr_io *smbd_register_mr(struct smbd_connection *info,
25172517{
25182518 struct smbdirect_socket * sc = & info -> socket ;
25192519 struct smbdirect_socket_parameters * sp = & sc -> parameters ;
2520- struct smbdirect_mr_io * smbdirect_mr ;
2520+ struct smbdirect_mr_io * mr ;
25212521 int rc , num_pages ;
2522- enum dma_data_direction dir ;
25232522 struct ib_reg_wr * reg_wr ;
25242523
25252524 num_pages = iov_iter_npages (iter , sp -> max_frmr_depth + 1 );
@@ -2530,49 +2529,45 @@ struct smbdirect_mr_io *smbd_register_mr(struct smbd_connection *info,
25302529 return NULL ;
25312530 }
25322531
2533- smbdirect_mr = get_mr (sc );
2534- if (!smbdirect_mr ) {
2532+ mr = get_mr (sc );
2533+ if (!mr ) {
25352534 log_rdma_mr (ERR , "get_mr returning NULL\n" );
25362535 return NULL ;
25372536 }
25382537
2539- dir = writing ? DMA_FROM_DEVICE : DMA_TO_DEVICE ;
2540- smbdirect_mr -> dir = dir ;
2541- smbdirect_mr -> need_invalidate = need_invalidate ;
2542- smbdirect_mr -> sgt .nents = 0 ;
2543- smbdirect_mr -> sgt .orig_nents = 0 ;
2538+ mr -> dir = writing ? DMA_FROM_DEVICE : DMA_TO_DEVICE ;
2539+ mr -> need_invalidate = need_invalidate ;
2540+ mr -> sgt .nents = 0 ;
2541+ mr -> sgt .orig_nents = 0 ;
25442542
25452543 log_rdma_mr (INFO , "num_pages=0x%x count=0x%zx depth=%u\n" ,
25462544 num_pages , iov_iter_count (iter ), sp -> max_frmr_depth );
2547- smbd_iter_to_mr (iter , & smbdirect_mr -> sgt , sp -> max_frmr_depth );
2545+ smbd_iter_to_mr (iter , & mr -> sgt , sp -> max_frmr_depth );
25482546
2549- rc = ib_dma_map_sg (sc -> ib .dev , smbdirect_mr -> sgt .sgl ,
2550- smbdirect_mr -> sgt .nents , dir );
2547+ rc = ib_dma_map_sg (sc -> ib .dev , mr -> sgt .sgl , mr -> sgt .nents , mr -> dir );
25512548 if (!rc ) {
25522549 log_rdma_mr (ERR , "ib_dma_map_sg num_pages=%x dir=%x rc=%x\n" ,
2553- num_pages , dir , rc );
2550+ num_pages , mr -> dir , rc );
25542551 goto dma_map_error ;
25552552 }
25562553
2557- rc = ib_map_mr_sg (smbdirect_mr -> mr , smbdirect_mr -> sgt .sgl ,
2558- smbdirect_mr -> sgt .nents , NULL , PAGE_SIZE );
2559- if (rc != smbdirect_mr -> sgt .nents ) {
2554+ rc = ib_map_mr_sg (mr -> mr , mr -> sgt .sgl , mr -> sgt .nents , NULL , PAGE_SIZE );
2555+ if (rc != mr -> sgt .nents ) {
25602556 log_rdma_mr (ERR ,
2561- "ib_map_mr_sg failed rc = %d nents = %x\n" ,
2562- rc , smbdirect_mr -> sgt .nents );
2557+ "ib_map_mr_sg failed rc = %d nents = %x\n" ,
2558+ rc , mr -> sgt .nents );
25632559 goto map_mr_error ;
25642560 }
25652561
2566- ib_update_fast_reg_key (smbdirect_mr -> mr ,
2567- ib_inc_rkey (smbdirect_mr -> mr -> rkey ));
2568- reg_wr = & smbdirect_mr -> wr ;
2562+ ib_update_fast_reg_key (mr -> mr , ib_inc_rkey (mr -> mr -> rkey ));
2563+ reg_wr = & mr -> wr ;
25692564 reg_wr -> wr .opcode = IB_WR_REG_MR ;
2570- smbdirect_mr -> cqe .done = register_mr_done ;
2571- reg_wr -> wr .wr_cqe = & smbdirect_mr -> cqe ;
2565+ mr -> cqe .done = register_mr_done ;
2566+ reg_wr -> wr .wr_cqe = & mr -> cqe ;
25722567 reg_wr -> wr .num_sge = 0 ;
25732568 reg_wr -> wr .send_flags = IB_SEND_SIGNALED ;
2574- reg_wr -> mr = smbdirect_mr -> mr ;
2575- reg_wr -> key = smbdirect_mr -> mr -> rkey ;
2569+ reg_wr -> mr = mr -> mr ;
2570+ reg_wr -> key = mr -> mr -> rkey ;
25762571 reg_wr -> access = writing ?
25772572 IB_ACCESS_REMOTE_WRITE | IB_ACCESS_LOCAL_WRITE :
25782573 IB_ACCESS_REMOTE_READ ;
@@ -2584,18 +2579,17 @@ struct smbdirect_mr_io *smbd_register_mr(struct smbd_connection *info,
25842579 */
25852580 rc = ib_post_send (sc -> ib .qp , & reg_wr -> wr , NULL );
25862581 if (!rc )
2587- return smbdirect_mr ;
2582+ return mr ;
25882583
25892584 log_rdma_mr (ERR , "ib_post_send failed rc=%x reg_wr->key=%x\n" ,
25902585 rc , reg_wr -> key );
25912586
25922587 /* If all failed, attempt to recover this MR by setting it SMBDIRECT_MR_ERROR*/
25932588map_mr_error :
2594- ib_dma_unmap_sg (sc -> ib .dev , smbdirect_mr -> sgt .sgl ,
2595- smbdirect_mr -> sgt .nents , smbdirect_mr -> dir );
2589+ ib_dma_unmap_sg (sc -> ib .dev , mr -> sgt .sgl , mr -> sgt .nents , mr -> dir );
25962590
25972591dma_map_error :
2598- smbdirect_mr -> state = SMBDIRECT_MR_ERROR ;
2592+ mr -> state = SMBDIRECT_MR_ERROR ;
25992593 if (atomic_dec_and_test (& sc -> mr_io .used .count ))
26002594 wake_up (& sc -> mr_io .cleanup .wait_queue );
26012595
0 commit comments