Skip to content

Commit 5159d76

Browse files
author
Nicholas Bellinger
committed
iscsi/iser-target: Use list_del_init for ->i_conn_node
There are a handful of uses of list_empty() for cmd->i_conn_node within iser-target code that expect to return false once a cmd has been removed from the per connect list. This patch changes all uses of list_del -> list_del_init in order to ensure that list_empty() returns false as expected. Acked-by: Sagi Grimberg <[email protected]> Cc: Or Gerlitz <[email protected]> Cc: <[email protected]> raspberrypi#3.10+ Signed-off-by: Nicholas Bellinger <[email protected]>
1 parent a2a99ce commit 5159d76

File tree

3 files changed

+14
-14
lines changed

3 files changed

+14
-14
lines changed

drivers/infiniband/ulp/isert/ib_isert.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1464,7 +1464,7 @@ isert_put_cmd(struct isert_cmd *isert_cmd)
14641464
case ISCSI_OP_SCSI_CMD:
14651465
spin_lock_bh(&conn->cmd_lock);
14661466
if (!list_empty(&cmd->i_conn_node))
1467-
list_del(&cmd->i_conn_node);
1467+
list_del_init(&cmd->i_conn_node);
14681468
spin_unlock_bh(&conn->cmd_lock);
14691469

14701470
if (cmd->data_direction == DMA_TO_DEVICE)
@@ -1476,7 +1476,7 @@ isert_put_cmd(struct isert_cmd *isert_cmd)
14761476
case ISCSI_OP_SCSI_TMFUNC:
14771477
spin_lock_bh(&conn->cmd_lock);
14781478
if (!list_empty(&cmd->i_conn_node))
1479-
list_del(&cmd->i_conn_node);
1479+
list_del_init(&cmd->i_conn_node);
14801480
spin_unlock_bh(&conn->cmd_lock);
14811481

14821482
transport_generic_free_cmd(&cmd->se_cmd, 0);
@@ -1486,7 +1486,7 @@ isert_put_cmd(struct isert_cmd *isert_cmd)
14861486
case ISCSI_OP_TEXT:
14871487
spin_lock_bh(&conn->cmd_lock);
14881488
if (!list_empty(&cmd->i_conn_node))
1489-
list_del(&cmd->i_conn_node);
1489+
list_del_init(&cmd->i_conn_node);
14901490
spin_unlock_bh(&conn->cmd_lock);
14911491

14921492
/*

drivers/target/iscsi/iscsi_target.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -785,7 +785,7 @@ static void iscsit_ack_from_expstatsn(struct iscsi_conn *conn, u32 exp_statsn)
785785
spin_unlock_bh(&conn->cmd_lock);
786786

787787
list_for_each_entry_safe(cmd, cmd_p, &ack_list, i_conn_node) {
788-
list_del(&cmd->i_conn_node);
788+
list_del_init(&cmd->i_conn_node);
789789
iscsit_free_cmd(cmd, false);
790790
}
791791
}
@@ -3708,7 +3708,7 @@ iscsit_immediate_queue(struct iscsi_conn *conn, struct iscsi_cmd *cmd, int state
37083708
break;
37093709
case ISTATE_REMOVE:
37103710
spin_lock_bh(&conn->cmd_lock);
3711-
list_del(&cmd->i_conn_node);
3711+
list_del_init(&cmd->i_conn_node);
37123712
spin_unlock_bh(&conn->cmd_lock);
37133713

37143714
iscsit_free_cmd(cmd, false);
@@ -4151,7 +4151,7 @@ static void iscsit_release_commands_from_conn(struct iscsi_conn *conn)
41514151
spin_lock_bh(&conn->cmd_lock);
41524152
list_for_each_entry_safe(cmd, cmd_tmp, &conn->conn_cmd_list, i_conn_node) {
41534153

4154-
list_del(&cmd->i_conn_node);
4154+
list_del_init(&cmd->i_conn_node);
41554155
spin_unlock_bh(&conn->cmd_lock);
41564156

41574157
iscsit_increment_maxcmdsn(cmd, sess);

drivers/target/iscsi/iscsi_target_erl2.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ void iscsit_free_connection_recovery_entires(struct iscsi_session *sess)
138138
list_for_each_entry_safe(cmd, cmd_tmp,
139139
&cr->conn_recovery_cmd_list, i_conn_node) {
140140

141-
list_del(&cmd->i_conn_node);
141+
list_del_init(&cmd->i_conn_node);
142142
cmd->conn = NULL;
143143
spin_unlock(&cr->conn_recovery_cmd_lock);
144144
iscsit_free_cmd(cmd, true);
@@ -160,7 +160,7 @@ void iscsit_free_connection_recovery_entires(struct iscsi_session *sess)
160160
list_for_each_entry_safe(cmd, cmd_tmp,
161161
&cr->conn_recovery_cmd_list, i_conn_node) {
162162

163-
list_del(&cmd->i_conn_node);
163+
list_del_init(&cmd->i_conn_node);
164164
cmd->conn = NULL;
165165
spin_unlock(&cr->conn_recovery_cmd_lock);
166166
iscsit_free_cmd(cmd, true);
@@ -216,7 +216,7 @@ int iscsit_remove_cmd_from_connection_recovery(
216216
}
217217
cr = cmd->cr;
218218

219-
list_del(&cmd->i_conn_node);
219+
list_del_init(&cmd->i_conn_node);
220220
return --cr->cmd_count;
221221
}
222222

@@ -297,7 +297,7 @@ int iscsit_discard_unacknowledged_ooo_cmdsns_for_conn(struct iscsi_conn *conn)
297297
if (!(cmd->cmd_flags & ICF_OOO_CMDSN))
298298
continue;
299299

300-
list_del(&cmd->i_conn_node);
300+
list_del_init(&cmd->i_conn_node);
301301

302302
spin_unlock_bh(&conn->cmd_lock);
303303
iscsit_free_cmd(cmd, true);
@@ -335,7 +335,7 @@ int iscsit_prepare_cmds_for_realligance(struct iscsi_conn *conn)
335335
/*
336336
* Only perform connection recovery on ISCSI_OP_SCSI_CMD or
337337
* ISCSI_OP_NOOP_OUT opcodes. For all other opcodes call
338-
* list_del(&cmd->i_conn_node); to release the command to the
338+
* list_del_init(&cmd->i_conn_node); to release the command to the
339339
* session pool and remove it from the connection's list.
340340
*
341341
* Also stop the DataOUT timer, which will be restarted after
@@ -351,7 +351,7 @@ int iscsit_prepare_cmds_for_realligance(struct iscsi_conn *conn)
351351
" CID: %hu\n", cmd->iscsi_opcode,
352352
cmd->init_task_tag, cmd->cmd_sn, conn->cid);
353353

354-
list_del(&cmd->i_conn_node);
354+
list_del_init(&cmd->i_conn_node);
355355
spin_unlock_bh(&conn->cmd_lock);
356356
iscsit_free_cmd(cmd, true);
357357
spin_lock_bh(&conn->cmd_lock);
@@ -371,7 +371,7 @@ int iscsit_prepare_cmds_for_realligance(struct iscsi_conn *conn)
371371
*/
372372
if (!(cmd->cmd_flags & ICF_OOO_CMDSN) && !cmd->immediate_cmd &&
373373
iscsi_sna_gte(cmd->cmd_sn, conn->sess->exp_cmd_sn)) {
374-
list_del(&cmd->i_conn_node);
374+
list_del_init(&cmd->i_conn_node);
375375
spin_unlock_bh(&conn->cmd_lock);
376376
iscsit_free_cmd(cmd, true);
377377
spin_lock_bh(&conn->cmd_lock);
@@ -393,7 +393,7 @@ int iscsit_prepare_cmds_for_realligance(struct iscsi_conn *conn)
393393

394394
cmd->sess = conn->sess;
395395

396-
list_del(&cmd->i_conn_node);
396+
list_del_init(&cmd->i_conn_node);
397397
spin_unlock_bh(&conn->cmd_lock);
398398

399399
iscsit_free_all_datain_reqs(cmd);

0 commit comments

Comments
 (0)