@@ -4573,49 +4573,6 @@ void iscsit_fail_session(struct iscsi_session *sess)
4573
4573
sess -> session_state = TARG_SESS_STATE_FAILED ;
4574
4574
}
4575
4575
4576
- int iscsit_free_session (struct iscsi_session * sess )
4577
- {
4578
- u16 conn_count = atomic_read (& sess -> nconn );
4579
- struct iscsi_conn * conn , * conn_tmp = NULL ;
4580
- int is_last ;
4581
-
4582
- spin_lock_bh (& sess -> conn_lock );
4583
- atomic_set (& sess -> sleep_on_sess_wait_comp , 1 );
4584
-
4585
- list_for_each_entry_safe (conn , conn_tmp , & sess -> sess_conn_list ,
4586
- conn_list ) {
4587
- if (conn_count == 0 )
4588
- break ;
4589
-
4590
- if (list_is_last (& conn -> conn_list , & sess -> sess_conn_list )) {
4591
- is_last = 1 ;
4592
- } else {
4593
- iscsit_inc_conn_usage_count (conn_tmp );
4594
- is_last = 0 ;
4595
- }
4596
- iscsit_inc_conn_usage_count (conn );
4597
-
4598
- spin_unlock_bh (& sess -> conn_lock );
4599
- iscsit_cause_connection_reinstatement (conn , 1 );
4600
- spin_lock_bh (& sess -> conn_lock );
4601
-
4602
- iscsit_dec_conn_usage_count (conn );
4603
- if (is_last == 0 )
4604
- iscsit_dec_conn_usage_count (conn_tmp );
4605
-
4606
- conn_count -- ;
4607
- }
4608
-
4609
- if (atomic_read (& sess -> nconn )) {
4610
- spin_unlock_bh (& sess -> conn_lock );
4611
- wait_for_completion (& sess -> session_wait_comp );
4612
- } else
4613
- spin_unlock_bh (& sess -> conn_lock );
4614
-
4615
- iscsit_close_session (sess );
4616
- return 0 ;
4617
- }
4618
-
4619
4576
void iscsit_stop_session (
4620
4577
struct iscsi_session * sess ,
4621
4578
int session_sleep ,
@@ -4700,7 +4657,8 @@ int iscsit_release_sessions_for_tpg(struct iscsi_portal_group *tpg, int force)
4700
4657
list_for_each_entry_safe (se_sess , se_sess_tmp , & free_list , sess_list ) {
4701
4658
sess = (struct iscsi_session * )se_sess -> fabric_sess_ptr ;
4702
4659
4703
- iscsit_free_session (sess );
4660
+ iscsit_stop_session (sess , 1 , 1 );
4661
+ iscsit_close_session (sess );
4704
4662
session_count ++ ;
4705
4663
}
4706
4664
0 commit comments