@@ -4590,49 +4590,6 @@ void iscsit_fail_session(struct iscsi_session *sess)
4590
4590
sess -> session_state = TARG_SESS_STATE_FAILED ;
4591
4591
}
4592
4592
4593
- int iscsit_free_session (struct iscsi_session * sess )
4594
- {
4595
- u16 conn_count = atomic_read (& sess -> nconn );
4596
- struct iscsi_conn * conn , * conn_tmp = NULL ;
4597
- int is_last ;
4598
-
4599
- spin_lock_bh (& sess -> conn_lock );
4600
- atomic_set (& sess -> sleep_on_sess_wait_comp , 1 );
4601
-
4602
- list_for_each_entry_safe (conn , conn_tmp , & sess -> sess_conn_list ,
4603
- conn_list ) {
4604
- if (conn_count == 0 )
4605
- break ;
4606
-
4607
- if (list_is_last (& conn -> conn_list , & sess -> sess_conn_list )) {
4608
- is_last = 1 ;
4609
- } else {
4610
- iscsit_inc_conn_usage_count (conn_tmp );
4611
- is_last = 0 ;
4612
- }
4613
- iscsit_inc_conn_usage_count (conn );
4614
-
4615
- spin_unlock_bh (& sess -> conn_lock );
4616
- iscsit_cause_connection_reinstatement (conn , 1 );
4617
- spin_lock_bh (& sess -> conn_lock );
4618
-
4619
- iscsit_dec_conn_usage_count (conn );
4620
- if (is_last == 0 )
4621
- iscsit_dec_conn_usage_count (conn_tmp );
4622
-
4623
- conn_count -- ;
4624
- }
4625
-
4626
- if (atomic_read (& sess -> nconn )) {
4627
- spin_unlock_bh (& sess -> conn_lock );
4628
- wait_for_completion (& sess -> session_wait_comp );
4629
- } else
4630
- spin_unlock_bh (& sess -> conn_lock );
4631
-
4632
- iscsit_close_session (sess );
4633
- return 0 ;
4634
- }
4635
-
4636
4593
void iscsit_stop_session (
4637
4594
struct iscsi_session * sess ,
4638
4595
int session_sleep ,
@@ -4717,7 +4674,8 @@ int iscsit_release_sessions_for_tpg(struct iscsi_portal_group *tpg, int force)
4717
4674
list_for_each_entry_safe (se_sess , se_sess_tmp , & free_list , sess_list ) {
4718
4675
sess = (struct iscsi_session * )se_sess -> fabric_sess_ptr ;
4719
4676
4720
- iscsit_free_session (sess );
4677
+ iscsit_stop_session (sess , 1 , 1 );
4678
+ iscsit_close_session (sess );
4721
4679
session_count ++ ;
4722
4680
}
4723
4681
0 commit comments