target/iscsi: Fold _decide_list_to_build into _build_pdu_and_seq_lists
authorAndy Grover <agrover@redhat.com>
Tue, 3 Apr 2012 22:51:25 +0000 (15:51 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Sun, 15 Apr 2012 00:40:38 +0000 (17:40 -0700)
Rename iscsit_build_pdu_and_seq_list to iscsit_do_build_pdu_and_seq_lists

Rename iscsit_do_build_list to iscsit_build_pdu_and_seq_lists

Move code from iscsit_decide_list_to_build into _seq_pdu_list.c, seems
a better fit.

Also update some comments in pdu/seq code for correctness and whitespace.

Signed-off-by: Andy Grover <agrover@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/iscsi/iscsi_target.c
drivers/target/iscsi/iscsi_target_seq_pdu_list.c
drivers/target/iscsi/iscsi_target_seq_pdu_list.h
drivers/target/iscsi/iscsi_target_util.c
drivers/target/iscsi/iscsi_target_util.h

index a29a1bb..e9cc087 100644 (file)
@@ -1060,7 +1060,7 @@ done:
                 */
                send_check_condition = 1;
        } else {
-               if (iscsit_decide_list_to_build(cmd, payload_length) < 0)
+               if (iscsit_build_pdu_and_seq_lists(cmd, payload_length) < 0)
                        return iscsit_add_reject_from_cmd(
                                ISCSI_REASON_BOOKMARK_NO_RESOURCES,
                                1, 1, buf, cmd);
index d982765..7d0effa 100644 (file)
@@ -24,6 +24,7 @@
 
 #include "iscsi_target_core.h"
 #include "iscsi_target_util.h"
+#include "iscsi_target_tpg.h"
 #include "iscsi_target_seq_pdu_list.h"
 
 #define OFFLOAD_BUF_SIZE       32768
@@ -287,10 +288,10 @@ static void iscsit_determine_counts_for_list(
 
 
 /*
- *     Builds PDU and/or Sequence list,  called while DataSequenceInOrder=No
- *     and DataPDUInOrder=No.
+ *     Builds PDU and/or Sequence list, called while DataSequenceInOrder=No
+ *     or DataPDUInOrder=No.
  */
-static int iscsit_build_pdu_and_seq_list(
+static int iscsit_do_build_pdu_and_seq_lists(
        struct iscsi_cmd *cmd,
        struct iscsi_build_list *bl)
 {
@@ -493,19 +494,56 @@ static int iscsit_build_pdu_and_seq_list(
        return 0;
 }
 
-/*
- *     Only called while DataSequenceInOrder=No or DataPDUInOrder=No.
- */
-int iscsit_do_build_list(
+int iscsit_build_pdu_and_seq_lists(
        struct iscsi_cmd *cmd,
-       struct iscsi_build_list *bl)
+       u32 immediate_data_length)
 {
+       struct iscsi_build_list bl;
        u32 pdu_count = 0, seq_count = 1;
        struct iscsi_conn *conn = cmd->conn;
        struct iscsi_pdu *pdu = NULL;
        struct iscsi_seq *seq = NULL;
 
-       iscsit_determine_counts_for_list(cmd, bl, &seq_count, &pdu_count);
+       struct iscsi_session *sess = conn->sess;
+       struct iscsi_node_attrib *na;
+
+       /*
+        * Do nothing if no OOO shenanigans
+        */
+       if (sess->sess_ops->DataSequenceInOrder &&
+           sess->sess_ops->DataPDUInOrder)
+               return 0;
+
+       if (cmd->data_direction == DMA_NONE)
+               return 0;
+
+       na = iscsit_tpg_get_node_attrib(sess);
+       memset(&bl, 0, sizeof(struct iscsi_build_list));
+
+       if (cmd->data_direction == DMA_FROM_DEVICE) {
+               bl.data_direction = ISCSI_PDU_READ;
+               bl.type = PDULIST_NORMAL;
+               if (na->random_datain_pdu_offsets)
+                       bl.randomize |= RANDOM_DATAIN_PDU_OFFSETS;
+               if (na->random_datain_seq_offsets)
+                       bl.randomize |= RANDOM_DATAIN_SEQ_OFFSETS;
+       } else {
+               bl.data_direction = ISCSI_PDU_WRITE;
+               bl.immediate_data_length = immediate_data_length;
+               if (na->random_r2t_offsets)
+                       bl.randomize |= RANDOM_R2T_OFFSETS;
+
+               if (!cmd->immediate_data && !cmd->unsolicited_data)
+                       bl.type = PDULIST_NORMAL;
+               else if (cmd->immediate_data && !cmd->unsolicited_data)
+                       bl.type = PDULIST_IMMEDIATE;
+               else if (!cmd->immediate_data && cmd->unsolicited_data)
+                       bl.type = PDULIST_UNSOLICITED;
+               else if (cmd->immediate_data && cmd->unsolicited_data)
+                       bl.type = PDULIST_IMMEDIATE_AND_UNSOLICITED;
+       }
+
+       iscsit_determine_counts_for_list(cmd, &bl, &seq_count, &pdu_count);
 
        if (!conn->sess->sess_ops->DataSequenceInOrder) {
                seq = kzalloc(seq_count * sizeof(struct iscsi_seq), GFP_ATOMIC);
@@ -528,7 +566,7 @@ int iscsit_do_build_list(
                cmd->pdu_count = pdu_count;
        }
 
-       return iscsit_build_pdu_and_seq_list(cmd, bl);
+       return iscsit_do_build_pdu_and_seq_lists(cmd, &bl);
 }
 
 struct iscsi_pdu *iscsit_get_pdu_holder(
index 0d52a10..d5b1537 100644 (file)
@@ -78,7 +78,7 @@ struct iscsi_seq {
        u32             xfer_len;
 } ____cacheline_aligned;
 
-extern int iscsit_do_build_list(struct iscsi_cmd *, struct iscsi_build_list *);
+extern int iscsit_build_pdu_and_seq_lists(struct iscsi_cmd *, u32);
 extern struct iscsi_pdu *iscsit_get_pdu_holder(struct iscsi_cmd *, u32, u32);
 extern struct iscsi_pdu *iscsit_get_pdu_holder_for_seq(struct iscsi_cmd *, struct iscsi_seq *);
 extern struct iscsi_seq *iscsit_get_seq_holder(struct iscsi_cmd *, u32, u32);
index 1f5a456..9cd9f30 100644 (file)
@@ -176,51 +176,6 @@ struct iscsi_cmd *iscsit_allocate_cmd(struct iscsi_conn *conn, gfp_t gfp_mask)
        return cmd;
 }
 
-int iscsit_decide_list_to_build(
-       struct iscsi_cmd *cmd,
-       u32 immediate_data_length)
-{
-       struct iscsi_build_list bl;
-       struct iscsi_conn *conn = cmd->conn;
-       struct iscsi_session *sess = conn->sess;
-       struct iscsi_node_attrib *na;
-
-       if (sess->sess_ops->DataSequenceInOrder &&
-           sess->sess_ops->DataPDUInOrder)
-               return 0;
-
-       if (cmd->data_direction == DMA_NONE)
-               return 0;
-
-       na = iscsit_tpg_get_node_attrib(sess);
-       memset(&bl, 0, sizeof(struct iscsi_build_list));
-
-       if (cmd->data_direction == DMA_FROM_DEVICE) {
-               bl.data_direction = ISCSI_PDU_READ;
-               bl.type = PDULIST_NORMAL;
-               if (na->random_datain_pdu_offsets)
-                       bl.randomize |= RANDOM_DATAIN_PDU_OFFSETS;
-               if (na->random_datain_seq_offsets)
-                       bl.randomize |= RANDOM_DATAIN_SEQ_OFFSETS;
-       } else {
-               bl.data_direction = ISCSI_PDU_WRITE;
-               bl.immediate_data_length = immediate_data_length;
-               if (na->random_r2t_offsets)
-                       bl.randomize |= RANDOM_R2T_OFFSETS;
-
-               if (!cmd->immediate_data && !cmd->unsolicited_data)
-                       bl.type = PDULIST_NORMAL;
-               else if (cmd->immediate_data && !cmd->unsolicited_data)
-                       bl.type = PDULIST_IMMEDIATE;
-               else if (!cmd->immediate_data && cmd->unsolicited_data)
-                       bl.type = PDULIST_UNSOLICITED;
-               else if (cmd->immediate_data && cmd->unsolicited_data)
-                       bl.type = PDULIST_IMMEDIATE_AND_UNSOLICITED;
-       }
-
-       return iscsit_do_build_list(cmd, &bl);
-}
-
 struct iscsi_seq *iscsit_get_seq_holder_for_datain(
        struct iscsi_cmd *cmd,
        u32 seq_send_order)
index df8dbdd..e1c729b 100644 (file)
@@ -9,7 +9,6 @@ extern struct iscsi_r2t *iscsit_get_r2t_from_list(struct iscsi_cmd *);
 extern void iscsit_free_r2t(struct iscsi_r2t *, struct iscsi_cmd *);
 extern void iscsit_free_r2ts_from_list(struct iscsi_cmd *);
 extern struct iscsi_cmd *iscsit_allocate_cmd(struct iscsi_conn *, gfp_t);
-extern int iscsit_decide_list_to_build(struct iscsi_cmd *, u32);
 extern struct iscsi_seq *iscsit_get_seq_holder_for_datain(struct iscsi_cmd *, u32);
 extern struct iscsi_seq *iscsit_get_seq_holder_for_r2t(struct iscsi_cmd *);
 extern struct iscsi_r2t *iscsit_get_holder_for_r2tsn(struct iscsi_cmd *, u32);