Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f7c9564a authored by Kees Cook's avatar Kees Cook
Browse files

target/iscsi: Convert timers to use timer_setup()



In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new timer_setup() and from_timer()
to pass the timer pointer explicitly. Includes a fix for correcting an
on-stack timer usage.

Cc: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
Cc: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Jiang Yi <jiangyilism@gmail.com>
Cc: Varun Prakash <varun@chelsio.com>
Cc: linux-scsi@vger.kernel.org
Cc: target-devel@vger.kernel.org
Reviewed-and-Tested-by: default avatarBart Van Assche <Bart.VanAssche@wdc.com>
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
parent 8a47aa9d
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -372,8 +372,7 @@ struct iscsi_np *iscsit_add_np(
	init_completion(&np->np_restart_comp);
	INIT_LIST_HEAD(&np->np_list);

	setup_timer(&np->np_login_timer, iscsi_handle_login_thread_timeout,
		    (unsigned long)np);
	timer_setup(&np->np_login_timer, iscsi_handle_login_thread_timeout, 0);

	ret = iscsi_target_setup_login_socket(np, sockaddr);
	if (ret != 0) {
+2 −2
Original line number Diff line number Diff line
@@ -749,9 +749,9 @@ int iscsit_check_post_dataout(
	}
}

void iscsit_handle_time2retain_timeout(unsigned long data)
void iscsit_handle_time2retain_timeout(struct timer_list *t)
{
	struct iscsi_session *sess = (struct iscsi_session *) data;
	struct iscsi_session *sess = from_timer(sess, t, time2retain_timer);
	struct iscsi_portal_group *tpg = sess->tpg;
	struct se_portal_group *se_tpg = &tpg->tpg_se_tpg;

+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ extern void iscsit_set_dataout_sequence_values(struct iscsi_cmd *);
extern int iscsit_check_pre_dataout(struct iscsi_cmd *, unsigned char *);
extern int iscsit_check_post_dataout(struct iscsi_cmd *, unsigned char *, u8);
extern void iscsit_start_time2retain_handler(struct iscsi_session *);
extern void iscsit_handle_time2retain_timeout(unsigned long data);
extern void iscsit_handle_time2retain_timeout(struct timer_list *t);
extern int iscsit_stop_time2retain_timer(struct iscsi_session *);
extern void iscsit_connection_reinstatement_rcfr(struct iscsi_conn *);
extern void iscsit_cause_connection_reinstatement(struct iscsi_conn *, int);
+2 −2
Original line number Diff line number Diff line
@@ -1148,11 +1148,11 @@ static int iscsit_set_dataout_timeout_values(
/*
 *	NOTE: Called from interrupt (timer) context.
 */
void iscsit_handle_dataout_timeout(unsigned long data)
void iscsit_handle_dataout_timeout(struct timer_list *t)
{
	u32 pdu_length = 0, pdu_offset = 0;
	u32 r2t_length = 0, r2t_offset = 0;
	struct iscsi_cmd *cmd = (struct iscsi_cmd *) data;
	struct iscsi_cmd *cmd = from_timer(cmd, t, dataout_timer);
	struct iscsi_conn *conn = cmd->conn;
	struct iscsi_session *sess = NULL;
	struct iscsi_node_attrib *na;
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ extern int iscsit_execute_ooo_cmdsns(struct iscsi_session *);
extern int iscsit_execute_cmd(struct iscsi_cmd *, int);
extern int iscsit_handle_ooo_cmdsn(struct iscsi_session *, struct iscsi_cmd *, u32);
extern void iscsit_remove_ooo_cmdsn(struct iscsi_session *, struct iscsi_ooo_cmdsn *);
extern void iscsit_handle_dataout_timeout(unsigned long data);
extern void iscsit_handle_dataout_timeout(struct timer_list *t);
extern void iscsit_mod_dataout_timer(struct iscsi_cmd *);
extern void iscsit_start_dataout_timer(struct iscsi_cmd *, struct iscsi_conn *);
extern void iscsit_stop_dataout_timer(struct iscsi_cmd *);
Loading