Skip to content

Commit e49a7d9

Browse files
maurizio-lombardimartinkpetersen
authored andcommitted
scsi: target: remove boilerplate code
iscsit_free_session() is equivalent to iscsit_stop_session() followed by a call to iscsit_close_session(). Link: https://lore.kernel.org/r/[email protected] Tested-by: Rahul Kundu <[email protected]> Signed-off-by: Maurizio Lombardi <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
1 parent 0f3d679 commit e49a7d9

File tree

2 files changed

+2
-45
lines changed

2 files changed

+2
-45
lines changed

drivers/target/iscsi/iscsi_target.c

Lines changed: 2 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -4573,49 +4573,6 @@ void iscsit_fail_session(struct iscsi_session *sess)
45734573
sess->session_state = TARG_SESS_STATE_FAILED;
45744574
}
45754575

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-
46194576
void iscsit_stop_session(
46204577
struct iscsi_session *sess,
46214578
int session_sleep,
@@ -4700,7 +4657,8 @@ int iscsit_release_sessions_for_tpg(struct iscsi_portal_group *tpg, int force)
47004657
list_for_each_entry_safe(se_sess, se_sess_tmp, &free_list, sess_list) {
47014658
sess = (struct iscsi_session *)se_sess->fabric_sess_ptr;
47024659

4703-
iscsit_free_session(sess);
4660+
iscsit_stop_session(sess, 1, 1);
4661+
iscsit_close_session(sess);
47044662
session_count++;
47054663
}
47064664

drivers/target/iscsi/iscsi_target.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ extern int iscsi_target_rx_thread(void *);
4343
extern int iscsit_close_connection(struct iscsi_conn *);
4444
extern int iscsit_close_session(struct iscsi_session *);
4545
extern void iscsit_fail_session(struct iscsi_session *);
46-
extern int iscsit_free_session(struct iscsi_session *);
4746
extern void iscsit_stop_session(struct iscsi_session *, int, int);
4847
extern int iscsit_release_sessions_for_tpg(struct iscsi_portal_group *, int);
4948

0 commit comments

Comments
 (0)