iscsi-target: Use list_first_entry() where appropriate
authorRoland Dreier <roland@purestorage.com>
Wed, 31 Oct 2012 16:16:47 +0000 (09:16 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Wed, 7 Nov 2012 04:55:45 +0000 (20:55 -0800)
Instead of using the obfuscated pattern of

list_for_each_entry(var, list, ...)
break;

to set var to the first entry of a list, use the straightforward

var = list_first_entry(list, ...);

Reported-by: Joern Engel <joern@logfs.org>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/iscsi/iscsi_target_tq.c
drivers/target/iscsi/iscsi_target_util.c

index 9d881a0..8128952 100644 (file)
@@ -66,8 +66,7 @@ static struct iscsi_thread_set *iscsi_get_ts_from_inactive_list(void)
                return NULL;
        }
 
-       list_for_each_entry(ts, &inactive_ts_list, ts_list)
-               break;
+       ts = list_first_entry(&inactive_ts_list, struct iscsi_thread_set, ts_list);
 
        list_del(&ts->ts_list);
        iscsit_global->inactive_ts--;
index 1a91195..87e153b 100644 (file)
@@ -500,8 +500,8 @@ struct iscsi_queue_req *iscsit_get_cmd_from_immediate_queue(struct iscsi_conn *c
                spin_unlock_bh(&conn->immed_queue_lock);
                return NULL;
        }
-       list_for_each_entry(qr, &conn->immed_queue_list, qr_list)
-               break;
+       qr = list_first_entry(&conn->immed_queue_list,
+                             struct iscsi_queue_req, qr_list);
 
        list_del(&qr->qr_list);
        if (qr->cmd)
@@ -575,8 +575,8 @@ struct iscsi_queue_req *iscsit_get_cmd_from_response_queue(struct iscsi_conn *co
                return NULL;
        }
 
-       list_for_each_entry(qr, &conn->response_queue_list, qr_list)
-               break;
+       qr = list_first_entry(&conn->response_queue_list,
+                             struct iscsi_queue_req, qr_list);
 
        list_del(&qr->qr_list);
        if (qr->cmd)