Skip to content

Commit e834717

Browse files
maurizio-lombardigregkh
authored andcommitted
scsi: target: remove boilerplate code
[ Upstream commit e49a7d9 ] 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]> Signed-off-by: Sasha Levin <[email protected]>
1 parent 0c49195 commit e834717

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
@@ -4590,49 +4590,6 @@ void iscsit_fail_session(struct iscsi_session *sess)
45904590
sess->session_state = TARG_SESS_STATE_FAILED;
45914591
}
45924592

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-
46364593
void iscsit_stop_session(
46374594
struct iscsi_session *sess,
46384595
int session_sleep,
@@ -4717,7 +4674,8 @@ int iscsit_release_sessions_for_tpg(struct iscsi_portal_group *tpg, int force)
47174674
list_for_each_entry_safe(se_sess, se_sess_tmp, &free_list, sess_list) {
47184675
sess = (struct iscsi_session *)se_sess->fabric_sess_ptr;
47194676

4720-
iscsit_free_session(sess);
4677+
iscsit_stop_session(sess, 1, 1);
4678+
iscsit_close_session(sess);
47214679
session_count++;
47224680
}
47234681

drivers/target/iscsi/iscsi_target.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ extern int iscsi_target_rx_thread(void *);
3030
extern int iscsit_close_connection(struct iscsi_conn *);
3131
extern int iscsit_close_session(struct iscsi_session *);
3232
extern void iscsit_fail_session(struct iscsi_session *);
33-
extern int iscsit_free_session(struct iscsi_session *);
3433
extern void iscsit_stop_session(struct iscsi_session *, int, int);
3534
extern int iscsit_release_sessions_for_tpg(struct iscsi_portal_group *, int);
3635

0 commit comments

Comments
 (0)