Lines Matching refs:sess

70 static bool __rtrs_srv_change_state(struct rtrs_srv_sess *sess,  in __rtrs_srv_change_state()  argument
76 lockdep_assert_held(&sess->state_lock); in __rtrs_srv_change_state()
77 old_state = sess->state; in __rtrs_srv_change_state()
111 sess->state = new_state; in __rtrs_srv_change_state()
116 static bool rtrs_srv_change_state_get_old(struct rtrs_srv_sess *sess, in rtrs_srv_change_state_get_old() argument
122 spin_lock_irq(&sess->state_lock); in rtrs_srv_change_state_get_old()
123 *old_state = sess->state; in rtrs_srv_change_state_get_old()
124 changed = __rtrs_srv_change_state(sess, new_state); in rtrs_srv_change_state_get_old()
125 spin_unlock_irq(&sess->state_lock); in rtrs_srv_change_state_get_old()
130 static bool rtrs_srv_change_state(struct rtrs_srv_sess *sess, in rtrs_srv_change_state() argument
135 return rtrs_srv_change_state_get_old(sess, new_state, &old_state); in rtrs_srv_change_state()
145 static void rtrs_srv_free_ops_ids(struct rtrs_srv_sess *sess) in rtrs_srv_free_ops_ids() argument
147 struct rtrs_srv *srv = sess->srv; in rtrs_srv_free_ops_ids()
150 WARN_ON(atomic_read(&sess->ids_inflight)); in rtrs_srv_free_ops_ids()
151 if (sess->ops_ids) { in rtrs_srv_free_ops_ids()
153 free_id(sess->ops_ids[i]); in rtrs_srv_free_ops_ids()
154 kfree(sess->ops_ids); in rtrs_srv_free_ops_ids()
155 sess->ops_ids = NULL; in rtrs_srv_free_ops_ids()
165 static int rtrs_srv_alloc_ops_ids(struct rtrs_srv_sess *sess) in rtrs_srv_alloc_ops_ids() argument
167 struct rtrs_srv *srv = sess->srv; in rtrs_srv_alloc_ops_ids()
171 sess->ops_ids = kcalloc(srv->queue_depth, sizeof(*sess->ops_ids), in rtrs_srv_alloc_ops_ids()
173 if (!sess->ops_ids) in rtrs_srv_alloc_ops_ids()
181 sess->ops_ids[i] = id; in rtrs_srv_alloc_ops_ids()
183 init_waitqueue_head(&sess->ids_waitq); in rtrs_srv_alloc_ops_ids()
184 atomic_set(&sess->ids_inflight, 0); in rtrs_srv_alloc_ops_ids()
189 rtrs_srv_free_ops_ids(sess); in rtrs_srv_alloc_ops_ids()
193 static inline void rtrs_srv_get_ops_ids(struct rtrs_srv_sess *sess) in rtrs_srv_get_ops_ids() argument
195 atomic_inc(&sess->ids_inflight); in rtrs_srv_get_ops_ids()
198 static inline void rtrs_srv_put_ops_ids(struct rtrs_srv_sess *sess) in rtrs_srv_put_ops_ids() argument
200 if (atomic_dec_and_test(&sess->ids_inflight)) in rtrs_srv_put_ops_ids()
201 wake_up(&sess->ids_waitq); in rtrs_srv_put_ops_ids()
204 static void rtrs_srv_wait_ops_ids(struct rtrs_srv_sess *sess) in rtrs_srv_wait_ops_ids() argument
206 wait_event(sess->ids_waitq, !atomic_read(&sess->ids_inflight)); in rtrs_srv_wait_ops_ids()
213 struct rtrs_sess *s = con->c.sess; in rtrs_srv_reg_mr_done()
214 struct rtrs_srv_sess *sess = to_srv_sess(s); in rtrs_srv_reg_mr_done() local
219 close_sess(sess); in rtrs_srv_reg_mr_done()
230 struct rtrs_sess *s = id->con->c.sess; in rdma_write_sg()
231 struct rtrs_srv_sess *sess = to_srv_sess(s); in rdma_write_sg() local
232 dma_addr_t dma_addr = sess->dma_addr[id->msg_id]; in rdma_write_sg()
234 struct rtrs_srv *srv = sess->srv; in rdma_write_sg()
267 plist->lkey = sess->s.dev->ib_pd->local_dma_lkey; in rdma_write_sg()
318 srv_mr = &sess->mrs[id->msg_id]; in rdma_write_sg()
334 list.lkey = sess->s.dev->ib_pd->local_dma_lkey; in rdma_write_sg()
338 ib_dma_sync_single_for_device(sess->s.dev->ib_dev, in rdma_write_sg()
351 ib_dma_sync_single_for_device(sess->s.dev->ib_dev, dma_addr, in rdma_write_sg()
375 struct rtrs_sess *s = con->c.sess; in send_io_resp_imm()
376 struct rtrs_srv_sess *sess = to_srv_sess(s); in send_io_resp_imm() local
380 struct rtrs_srv *srv = sess->srv; in send_io_resp_imm()
437 srv_mr = &sess->mrs[id->msg_id]; in send_io_resp_imm()
454 list.lkey = sess->s.dev->ib_pd->local_dma_lkey; in send_io_resp_imm()
458 ib_dma_sync_single_for_device(sess->s.dev->ib_dev, in send_io_resp_imm()
479 void close_sess(struct rtrs_srv_sess *sess) in close_sess() argument
483 if (rtrs_srv_change_state_get_old(sess, RTRS_SRV_CLOSING, in close_sess()
485 queue_work(rtrs_wq, &sess->close_work); in close_sess()
486 WARN_ON(sess->state != RTRS_SRV_CLOSING); in close_sess()
518 struct rtrs_srv_sess *sess; in rtrs_srv_resp_rdma() local
527 s = con->c.sess; in rtrs_srv_resp_rdma()
528 sess = to_srv_sess(s); in rtrs_srv_resp_rdma()
532 if (unlikely(sess->state != RTRS_SRV_CONNECTED)) { in rtrs_srv_resp_rdma()
535 rtrs_srv_state_str(sess->state)); in rtrs_srv_resp_rdma()
539 struct rtrs_srv_mr *mr = &sess->mrs[id->msg_id]; in rtrs_srv_resp_rdma()
560 close_sess(sess); in rtrs_srv_resp_rdma()
563 rtrs_srv_put_ops_ids(sess); in rtrs_srv_resp_rdma()
579 static void unmap_cont_bufs(struct rtrs_srv_sess *sess) in unmap_cont_bufs() argument
583 for (i = 0; i < sess->mrs_num; i++) { in unmap_cont_bufs()
586 srv_mr = &sess->mrs[i]; in unmap_cont_bufs()
587 rtrs_iu_free(srv_mr->iu, sess->s.dev->ib_dev, 1); in unmap_cont_bufs()
589 ib_dma_unmap_sg(sess->s.dev->ib_dev, srv_mr->sgt.sgl, in unmap_cont_bufs()
593 kfree(sess->mrs); in unmap_cont_bufs()
596 static int map_cont_bufs(struct rtrs_srv_sess *sess) in map_cont_bufs() argument
598 struct rtrs_srv *srv = sess->srv; in map_cont_bufs()
599 struct rtrs_sess *ss = &sess->s; in map_cont_bufs()
616 sess->s.dev->ib_dev->attrs.max_fast_reg_page_list_len; in map_cont_bufs()
621 sess->mrs = kcalloc(mrs_num, sizeof(*sess->mrs), GFP_KERNEL); in map_cont_bufs()
622 if (!sess->mrs) in map_cont_bufs()
625 sess->mrs_num = mrs_num; in map_cont_bufs()
628 struct rtrs_srv_mr *srv_mr = &sess->mrs[mri]; in map_cont_bufs()
647 nr = ib_dma_map_sg(sess->s.dev->ib_dev, sgt->sgl, in map_cont_bufs()
653 mr = ib_alloc_mr(sess->s.dev->ib_pd, IB_MR_TYPE_MEM_REG, in map_cont_bufs()
669 GFP_KERNEL, sess->s.dev->ib_dev, in map_cont_bufs()
679 sess->dma_addr[chunks + i] = sg_dma_address(s); in map_cont_bufs()
687 srv_mr = &sess->mrs[mri]; in map_cont_bufs()
690 rtrs_iu_free(srv_mr->iu, sess->s.dev->ib_dev, 1); in map_cont_bufs()
694 ib_dma_unmap_sg(sess->s.dev->ib_dev, sgt->sgl, in map_cont_bufs()
699 kfree(sess->mrs); in map_cont_bufs()
705 sess->mem_bits = (MAX_IMM_PAYL_BITS - chunk_bits); in map_cont_bufs()
712 close_sess(to_srv_sess(c->sess)); in rtrs_srv_hb_err_handler()
715 static void rtrs_srv_init_hb(struct rtrs_srv_sess *sess) in rtrs_srv_init_hb() argument
717 rtrs_init_hb(&sess->s, &io_comp_cqe, in rtrs_srv_init_hb()
724 static void rtrs_srv_start_hb(struct rtrs_srv_sess *sess) in rtrs_srv_start_hb() argument
726 rtrs_start_hb(&sess->s); in rtrs_srv_start_hb()
729 static void rtrs_srv_stop_hb(struct rtrs_srv_sess *sess) in rtrs_srv_stop_hb() argument
731 rtrs_stop_hb(&sess->s); in rtrs_srv_stop_hb()
737 struct rtrs_sess *s = con->c.sess; in rtrs_srv_info_rsp_done()
738 struct rtrs_srv_sess *sess = to_srv_sess(s); in rtrs_srv_info_rsp_done() local
742 rtrs_iu_free(iu, sess->s.dev->ib_dev, 1); in rtrs_srv_info_rsp_done()
747 close_sess(sess); in rtrs_srv_info_rsp_done()
753 static void rtrs_srv_sess_up(struct rtrs_srv_sess *sess) in rtrs_srv_sess_up() argument
755 struct rtrs_srv *srv = sess->srv; in rtrs_srv_sess_up()
766 sess->established = true; in rtrs_srv_sess_up()
769 static void rtrs_srv_sess_down(struct rtrs_srv_sess *sess) in rtrs_srv_sess_down() argument
771 struct rtrs_srv *srv = sess->srv; in rtrs_srv_sess_down()
774 if (!sess->established) in rtrs_srv_sess_down()
777 sess->established = false; in rtrs_srv_sess_down()
785 static int post_recv_sess(struct rtrs_srv_sess *sess);
790 struct rtrs_sess *s = con->c.sess; in process_info_req()
791 struct rtrs_srv_sess *sess = to_srv_sess(s); in process_info_req() local
799 err = post_recv_sess(sess); in process_info_req()
804 rwr = kcalloc(sess->mrs_num, sizeof(*rwr), GFP_KERNEL); in process_info_req()
807 strlcpy(sess->s.sessname, msg->sessname, sizeof(sess->s.sessname)); in process_info_req()
810 tx_sz += sizeof(rsp->desc[0]) * sess->mrs_num; in process_info_req()
811 tx_iu = rtrs_iu_alloc(1, tx_sz, GFP_KERNEL, sess->s.dev->ib_dev, in process_info_req()
820 rsp->sg_cnt = cpu_to_le16(sess->mrs_num); in process_info_req()
822 for (mri = 0; mri < sess->mrs_num; mri++) { in process_info_req()
823 struct ib_mr *mr = sess->mrs[mri].mr; in process_info_req()
844 err = rtrs_srv_create_sess_files(sess); in process_info_req()
847 kobject_get(&sess->kobj); in process_info_req()
848 get_device(&sess->srv->dev); in process_info_req()
849 rtrs_srv_change_state(sess, RTRS_SRV_CONNECTED); in process_info_req()
850 rtrs_srv_start_hb(sess); in process_info_req()
858 rtrs_srv_sess_up(sess); in process_info_req()
860 ib_dma_sync_single_for_device(sess->s.dev->ib_dev, tx_iu->dma_addr, in process_info_req()
868 rtrs_iu_free(tx_iu, sess->s.dev->ib_dev, 1); in process_info_req()
879 struct rtrs_sess *s = con->c.sess; in rtrs_srv_info_req_done()
880 struct rtrs_srv_sess *sess = to_srv_sess(s); in rtrs_srv_info_req_done() local
900 ib_dma_sync_single_for_cpu(sess->s.dev->ib_dev, iu->dma_addr, in rtrs_srv_info_req_done()
913 rtrs_iu_free(iu, sess->s.dev->ib_dev, 1); in rtrs_srv_info_req_done()
916 close_sess(sess); in rtrs_srv_info_req_done()
922 struct rtrs_sess *s = con->c.sess; in post_recv_info_req()
923 struct rtrs_srv_sess *sess = to_srv_sess(s); in post_recv_info_req() local
928 GFP_KERNEL, sess->s.dev->ib_dev, in post_recv_info_req()
936 rtrs_iu_free(rx_iu, sess->s.dev->ib_dev, 1); in post_recv_info_req()
956 static int post_recv_sess(struct rtrs_srv_sess *sess) in post_recv_sess() argument
958 struct rtrs_srv *srv = sess->srv; in post_recv_sess()
959 struct rtrs_sess *s = &sess->s; in post_recv_sess()
963 for (cid = 0; cid < sess->s.con_num; cid++) { in post_recv_sess()
969 err = post_recv_io(to_srv_con(sess->s.con[cid]), q_size); in post_recv_sess()
983 struct rtrs_sess *s = con->c.sess; in process_read()
984 struct rtrs_srv_sess *sess = to_srv_sess(s); in process_read() local
985 struct rtrs_srv *srv = sess->srv; in process_read()
993 if (unlikely(sess->state != RTRS_SRV_CONNECTED)) { in process_read()
996 rtrs_srv_state_str(sess->state)); in process_read()
1004 rtrs_srv_get_ops_ids(sess); in process_read()
1005 rtrs_srv_update_rdma_stats(sess->stats, off, READ); in process_read()
1006 id = sess->ops_ids[buf_id]; in process_read()
1032 close_sess(sess); in process_read()
1034 rtrs_srv_put_ops_ids(sess); in process_read()
1041 struct rtrs_sess *s = con->c.sess; in process_write()
1042 struct rtrs_srv_sess *sess = to_srv_sess(s); in process_write() local
1043 struct rtrs_srv *srv = sess->srv; in process_write()
1051 if (unlikely(sess->state != RTRS_SRV_CONNECTED)) { in process_write()
1054 rtrs_srv_state_str(sess->state)); in process_write()
1057 rtrs_srv_get_ops_ids(sess); in process_write()
1058 rtrs_srv_update_rdma_stats(sess->stats, off, WRITE); in process_write()
1059 id = sess->ops_ids[buf_id]; in process_write()
1084 close_sess(sess); in process_write()
1086 rtrs_srv_put_ops_ids(sess); in process_write()
1092 struct rtrs_sess *s = con->c.sess; in process_io_req()
1093 struct rtrs_srv_sess *sess = to_srv_sess(s); in process_io_req() local
1097 ib_dma_sync_single_for_cpu(sess->s.dev->ib_dev, sess->dma_addr[id], in process_io_req()
1119 close_sess(sess); in process_io_req()
1127 struct rtrs_sess *s = con->c.sess; in rtrs_srv_inv_rkey_done()
1128 struct rtrs_srv_sess *sess = to_srv_sess(s); in rtrs_srv_inv_rkey_done() local
1129 struct rtrs_srv *srv = sess->srv; in rtrs_srv_inv_rkey_done()
1136 close_sess(sess); in rtrs_srv_inv_rkey_done()
1184 struct rtrs_sess *s = con->c.sess; in rtrs_srv_rdma_done()
1185 struct rtrs_srv_sess *sess = to_srv_sess(s); in rtrs_srv_rdma_done() local
1186 struct rtrs_srv *srv = sess->srv; in rtrs_srv_rdma_done()
1196 close_sess(sess); in rtrs_srv_rdma_done()
1212 close_sess(sess); in rtrs_srv_rdma_done()
1221 msg_id = imm_payload >> sess->mem_bits; in rtrs_srv_rdma_done()
1222 off = imm_payload & ((1 << sess->mem_bits) - 1); in rtrs_srv_rdma_done()
1227 close_sess(sess); in rtrs_srv_rdma_done()
1231 struct rtrs_srv_mr *mr = &sess->mrs[msg_id]; in rtrs_srv_rdma_done()
1239 close_sess(sess); in rtrs_srv_rdma_done()
1248 rtrs_send_hb_ack(&sess->s); in rtrs_srv_rdma_done()
1251 sess->s.hb_missed_cnt = 0; in rtrs_srv_rdma_done()
1281 struct rtrs_srv_sess *sess; in rtrs_srv_get_sess_name() local
1285 list_for_each_entry(sess, &srv->paths_list, s.entry) { in rtrs_srv_get_sess_name()
1286 if (sess->state != RTRS_SRV_CONNECTED) in rtrs_srv_get_sess_name()
1288 strlcpy(sessname, sess->s.sessname, in rtrs_srv_get_sess_name()
1289 min_t(size_t, sizeof(sess->s.sessname), len)); in rtrs_srv_get_sess_name()
1309 static int find_next_bit_ring(struct rtrs_srv_sess *sess) in find_next_bit_ring() argument
1311 struct ib_device *ib_dev = sess->s.dev->ib_dev; in find_next_bit_ring()
1314 v = cpumask_next(sess->cur_cq_vector, &cq_affinity_mask); in find_next_bit_ring()
1320 static int rtrs_srv_get_next_cq_vector(struct rtrs_srv_sess *sess) in rtrs_srv_get_next_cq_vector() argument
1322 sess->cur_cq_vector = find_next_bit_ring(sess); in rtrs_srv_get_next_cq_vector()
1324 return sess->cur_cq_vector; in rtrs_srv_get_next_cq_vector()
1427 struct rtrs_srv_sess *sess) in __add_path_to_srv() argument
1429 list_add_tail(&sess->s.entry, &srv->paths_list); in __add_path_to_srv()
1434 static void del_path_from_srv(struct rtrs_srv_sess *sess) in del_path_from_srv() argument
1436 struct rtrs_srv *srv = sess->srv; in del_path_from_srv()
1442 list_del(&sess->s.entry); in del_path_from_srv()
1475 struct rtrs_srv_sess *sess; in __is_path_w_addr_exists() local
1477 list_for_each_entry(sess, &srv->paths_list, s.entry) in __is_path_w_addr_exists()
1478 if (!sockaddr_cmp((struct sockaddr *)&sess->s.dst_addr, in __is_path_w_addr_exists()
1480 !sockaddr_cmp((struct sockaddr *)&sess->s.src_addr, in __is_path_w_addr_exists()
1487 static void free_sess(struct rtrs_srv_sess *sess) in free_sess() argument
1489 if (sess->kobj.state_in_sysfs) { in free_sess()
1490 kobject_del(&sess->kobj); in free_sess()
1491 kobject_put(&sess->kobj); in free_sess()
1493 kfree(sess->stats); in free_sess()
1494 kfree(sess); in free_sess()
1500 struct rtrs_srv_sess *sess; in rtrs_srv_close_work() local
1504 sess = container_of(work, typeof(*sess), close_work); in rtrs_srv_close_work()
1506 rtrs_srv_destroy_sess_files(sess); in rtrs_srv_close_work()
1507 rtrs_srv_stop_hb(sess); in rtrs_srv_close_work()
1509 for (i = 0; i < sess->s.con_num; i++) { in rtrs_srv_close_work()
1510 if (!sess->s.con[i]) in rtrs_srv_close_work()
1512 con = to_srv_con(sess->s.con[i]); in rtrs_srv_close_work()
1517 rtrs_srv_wait_ops_ids(sess); in rtrs_srv_close_work()
1520 rtrs_srv_sess_down(sess); in rtrs_srv_close_work()
1522 unmap_cont_bufs(sess); in rtrs_srv_close_work()
1523 rtrs_srv_free_ops_ids(sess); in rtrs_srv_close_work()
1525 for (i = 0; i < sess->s.con_num; i++) { in rtrs_srv_close_work()
1526 if (!sess->s.con[i]) in rtrs_srv_close_work()
1528 con = to_srv_con(sess->s.con[i]); in rtrs_srv_close_work()
1533 rtrs_ib_dev_put(sess->s.dev); in rtrs_srv_close_work()
1535 del_path_from_srv(sess); in rtrs_srv_close_work()
1536 put_srv(sess->srv); in rtrs_srv_close_work()
1537 sess->srv = NULL; in rtrs_srv_close_work()
1538 rtrs_srv_change_state(sess, RTRS_SRV_CLOSED); in rtrs_srv_close_work()
1540 kfree(sess->dma_addr); in rtrs_srv_close_work()
1541 kfree(sess->s.con); in rtrs_srv_close_work()
1542 free_sess(sess); in rtrs_srv_close_work()
1545 static int rtrs_rdma_do_accept(struct rtrs_srv_sess *sess, in rtrs_rdma_do_accept() argument
1548 struct rtrs_srv *srv = sess->srv; in rtrs_rdma_do_accept()
1599 struct rtrs_srv_sess *sess; in __find_sess() local
1601 list_for_each_entry(sess, &srv->paths_list, s.entry) { in __find_sess()
1602 if (uuid_equal(&sess->s.uuid, sess_uuid)) in __find_sess()
1603 return sess; in __find_sess()
1609 static int create_con(struct rtrs_srv_sess *sess, in create_con() argument
1613 struct rtrs_srv *srv = sess->srv; in create_con()
1614 struct rtrs_sess *s = &sess->s; in create_con()
1629 con->c.sess = &sess->s; in create_con()
1648 wr_limit = sess->s.dev->ib_dev->attrs.max_qp_wr / 3; in create_con()
1669 cq_vector = rtrs_srv_get_next_cq_vector(sess); in create_con()
1672 err = rtrs_cq_qp_create(&sess->s, &con->c, 1, cq_vector, cq_size, in create_con()
1684 WARN_ON(sess->s.con[cid]); in create_con()
1685 sess->s.con[cid] = &con->c; in create_con()
1710 struct rtrs_srv_sess *sess; in __alloc_sess() local
1722 sess = kzalloc(sizeof(*sess), GFP_KERNEL); in __alloc_sess()
1723 if (!sess) in __alloc_sess()
1726 sess->stats = kzalloc(sizeof(*sess->stats), GFP_KERNEL); in __alloc_sess()
1727 if (!sess->stats) in __alloc_sess()
1730 sess->stats->sess = sess; in __alloc_sess()
1732 sess->dma_addr = kcalloc(srv->queue_depth, sizeof(*sess->dma_addr), in __alloc_sess()
1734 if (!sess->dma_addr) in __alloc_sess()
1737 sess->s.con = kcalloc(con_num, sizeof(*sess->s.con), GFP_KERNEL); in __alloc_sess()
1738 if (!sess->s.con) in __alloc_sess()
1741 sess->state = RTRS_SRV_CONNECTING; in __alloc_sess()
1742 sess->srv = srv; in __alloc_sess()
1743 sess->cur_cq_vector = -1; in __alloc_sess()
1744 sess->s.dst_addr = cm_id->route.addr.dst_addr; in __alloc_sess()
1745 sess->s.src_addr = cm_id->route.addr.src_addr; in __alloc_sess()
1746 sess->s.con_num = con_num; in __alloc_sess()
1747 sess->s.recon_cnt = recon_cnt; in __alloc_sess()
1748 uuid_copy(&sess->s.uuid, uuid); in __alloc_sess()
1749 spin_lock_init(&sess->state_lock); in __alloc_sess()
1750 INIT_WORK(&sess->close_work, rtrs_srv_close_work); in __alloc_sess()
1751 rtrs_srv_init_hb(sess); in __alloc_sess()
1753 sess->s.dev = rtrs_ib_dev_find_or_add(cm_id->device, &dev_pd); in __alloc_sess()
1754 if (!sess->s.dev) { in __alloc_sess()
1758 err = map_cont_bufs(sess); in __alloc_sess()
1762 err = rtrs_srv_alloc_ops_ids(sess); in __alloc_sess()
1766 __add_path_to_srv(srv, sess); in __alloc_sess()
1768 return sess; in __alloc_sess()
1771 unmap_cont_bufs(sess); in __alloc_sess()
1773 rtrs_ib_dev_put(sess->s.dev); in __alloc_sess()
1775 kfree(sess->s.con); in __alloc_sess()
1777 kfree(sess->dma_addr); in __alloc_sess()
1779 kfree(sess->stats); in __alloc_sess()
1781 kfree(sess); in __alloc_sess()
1791 struct rtrs_srv_sess *sess; in rtrs_rdma_connect() local
1831 sess = __find_sess(srv, &msg->sess_uuid); in rtrs_rdma_connect()
1832 if (sess) { in rtrs_rdma_connect()
1833 struct rtrs_sess *s = &sess->s; in rtrs_rdma_connect()
1838 if (sess->state != RTRS_SRV_CONNECTING) { in rtrs_rdma_connect()
1840 rtrs_srv_state_str(sess->state)); in rtrs_rdma_connect()
1860 sess = __alloc_sess(srv, cm_id, con_num, recon_cnt, in rtrs_rdma_connect()
1862 if (IS_ERR(sess)) { in rtrs_rdma_connect()
1865 err = PTR_ERR(sess); in rtrs_rdma_connect()
1869 err = create_con(sess, cm_id, cid); in rtrs_rdma_connect()
1879 err = rtrs_rdma_do_accept(sess, cm_id); in rtrs_rdma_connect()
1903 close_sess(sess); in rtrs_rdma_connect()
1911 struct rtrs_srv_sess *sess = NULL; in rtrs_srv_rdma_cm_handler() local
1917 s = c->sess; in rtrs_srv_rdma_cm_handler()
1918 sess = to_srv_sess(s); in rtrs_srv_rdma_cm_handler()
1937 close_sess(sess); in rtrs_srv_rdma_cm_handler()
1942 close_sess(sess); in rtrs_srv_rdma_cm_handler()
1945 close_sess(sess); in rtrs_srv_rdma_cm_handler()
2155 struct rtrs_srv_sess *sess; in close_sessions() local
2158 list_for_each_entry(sess, &srv->paths_list, s.entry) in close_sessions()
2159 close_sess(sess); in close_sessions()