iscsi: Resolve iscsi_proto.h naming conflicts with drivers/target/iscsi
authorNicholas Bellinger <nab@linux-iscsi.org>
Fri, 27 May 2011 11:16:33 +0000 (11:16 +0000)
committerNicholas Bellinger <nab@linux-iscsi.org>
Mon, 25 Jul 2011 07:18:45 +0000 (07:18 +0000)
This patch renames the following iscsi_proto.h structures to avoid
namespace issues with drivers/target/iscsi/iscsi_target_core.h:

*) struct iscsi_cmd -> struct iscsi_scsi_req
*) struct iscsi_cmd_rsp -> struct iscsi_scsi_rsp
*) struct iscsi_login -> struct iscsi_login_req

This patch includes useful ISCSI_FLAG_LOGIN_[CURRENT,NEXT]_STAGE*,
and ISCSI_FLAG_SNACK_TYPE_* definitions used by iscsi_target_mod, and
fixes the incorrect definition of struct iscsi_snack to following
RFC-3720 Section 10.16. SNACK Request.

Also, this patch updates libiscsi, iSER, be2iscsi, and bn2xi to
use the updated structure definitions in a handful of locations.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
drivers/infiniband/ulp/iser/iser_initiator.c
drivers/scsi/be2iscsi/be_main.h
drivers/scsi/bnx2i/bnx2i_hwi.c
drivers/scsi/bnx2i/bnx2i_iscsi.c
drivers/scsi/libiscsi.c
include/scsi/iscsi_proto.h

index 95a08a8ca8aab9fe3532cb877a38ba0026767bb0..5745b7fe158c0e4178ae240dea6c3c4a8894d60f 100644 (file)
@@ -271,7 +271,7 @@ int iser_send_command(struct iscsi_conn *conn,
        unsigned long edtl;
        int err;
        struct iser_data_buf *data_buf;
-       struct iscsi_cmd *hdr =  (struct iscsi_cmd *)task->hdr;
+       struct iscsi_scsi_req *hdr = (struct iscsi_scsi_req *)task->hdr;
        struct scsi_cmnd *sc  =  task->sc;
        struct iser_tx_desc *tx_desc = &iser_task->desc;
 
index 081c171a1ed60965d3c47701a409fc263fd6ece3..5ce5170254caaabd2ce81d0438e5523c001ffaca 100644 (file)
@@ -397,7 +397,7 @@ struct amap_pdu_data_out {
 };
 
 struct be_cmd_bhs {
-       struct iscsi_cmd iscsi_hdr;
+       struct iscsi_scsi_req iscsi_hdr;
        unsigned char pad1[16];
        struct pdu_data_out iscsi_data_pdu;
        unsigned char pad2[BE_SENSE_INFO_SIZE -
@@ -428,7 +428,7 @@ struct be_nonio_bhs {
 };
 
 struct be_status_bhs {
-       struct iscsi_cmd iscsi_hdr;
+       struct iscsi_scsi_req iscsi_hdr;
        unsigned char pad1[16];
        /**
         * The plus 2 below is to hold the sense info length that gets
index 372d30c099cce3792c6d940191301bf6423065d5..1b160e12afa3ee46af744c96f6fbd8cd6c22c264 100644 (file)
@@ -328,11 +328,11 @@ int bnx2i_send_iscsi_login(struct bnx2i_conn *bnx2i_conn,
 {
        struct bnx2i_cmd *bnx2i_cmd;
        struct bnx2i_login_request *login_wqe;
-       struct iscsi_login *login_hdr;
+       struct iscsi_login_req *login_hdr;
        u32 dword;
 
        bnx2i_cmd = (struct bnx2i_cmd *)task->dd_data;
-       login_hdr = (struct iscsi_login *)task->hdr;
+       login_hdr = (struct iscsi_login_req *)task->hdr;
        login_wqe = (struct bnx2i_login_request *)
                                                bnx2i_conn->ep->qp.sq_prod_qe;
 
@@ -1344,7 +1344,7 @@ static int bnx2i_process_scsi_cmd_resp(struct iscsi_session *session,
        struct bnx2i_cmd_response *resp_cqe;
        struct bnx2i_cmd *bnx2i_cmd;
        struct iscsi_task *task;
-       struct iscsi_cmd_rsp *hdr;
+       struct iscsi_scsi_rsp *hdr;
        u32 datalen = 0;
 
        resp_cqe = (struct bnx2i_cmd_response *)cqe;
@@ -1371,7 +1371,7 @@ static int bnx2i_process_scsi_cmd_resp(struct iscsi_session *session,
        }
        bnx2i_iscsi_unmap_sg_list(bnx2i_cmd);
 
-       hdr = (struct iscsi_cmd_rsp *)task->hdr;
+       hdr = (struct iscsi_scsi_rsp *)task->hdr;
        resp_cqe = (struct bnx2i_cmd_response *)cqe;
        hdr->opcode = resp_cqe->op_code;
        hdr->max_cmdsn = cpu_to_be32(resp_cqe->max_cmd_sn);
index 041928b23cb0803017306e16327b707216bedb1b..97ff47ce1840941c1efcb82afe13308b3ff8a4c3 100644 (file)
@@ -1212,7 +1212,7 @@ static int bnx2i_task_xmit(struct iscsi_task *task)
        struct bnx2i_conn *bnx2i_conn = conn->dd_data;
        struct scsi_cmnd *sc = task->sc;
        struct bnx2i_cmd *cmd = task->dd_data;
-       struct iscsi_cmd *hdr = (struct iscsi_cmd *) task->hdr;
+       struct iscsi_scsi_req *hdr = (struct iscsi_scsi_req *)task->hdr;
 
        if (bnx2i_conn->ep->num_active_cmds + 1 > hba->max_sqes)
                return -ENOMEM;
index 0c550d5b9133473d9308ce502a30df439e7ca077..c552cd7850ac752fc254867e7c6d1b0b602a32fb 100644 (file)
@@ -360,7 +360,7 @@ static int iscsi_prep_scsi_cmd_pdu(struct iscsi_task *task)
        struct iscsi_conn *conn = task->conn;
        struct iscsi_session *session = conn->session;
        struct scsi_cmnd *sc = task->sc;
-       struct iscsi_cmd *hdr;
+       struct iscsi_scsi_req *hdr;
        unsigned hdrlength, cmd_len;
        itt_t itt;
        int rc;
@@ -374,7 +374,7 @@ static int iscsi_prep_scsi_cmd_pdu(struct iscsi_task *task)
                if (rc)
                        return rc;
        }
-       hdr = (struct iscsi_cmd *) task->hdr;
+       hdr = (struct iscsi_scsi_req *)task->hdr;
        itt = hdr->itt;
        memset(hdr, 0, sizeof(*hdr));
 
@@ -830,7 +830,7 @@ static void iscsi_scsi_cmd_rsp(struct iscsi_conn *conn, struct iscsi_hdr *hdr,
                               struct iscsi_task *task, char *data,
                               int datalen)
 {
-       struct iscsi_cmd_rsp *rhdr = (struct iscsi_cmd_rsp *)hdr;
+       struct iscsi_scsi_rsp *rhdr = (struct iscsi_scsi_rsp *)hdr;
        struct iscsi_session *session = conn->session;
        struct scsi_cmnd *sc = task->sc;
 
index dd0a52cea95a31d299ad21854943e7ce4834c6dd..a9c9058ffc60ea9196ed672b08584344766c85a3 100644 (file)
@@ -116,7 +116,7 @@ struct iscsi_ahs_hdr {
 #define ISCSI_CDB_SIZE                 16
 
 /* iSCSI PDU Header */
-struct iscsi_cmd {
+struct iscsi_scsi_req {
        uint8_t opcode;
        uint8_t flags;
        __be16 rsvd2;
@@ -161,7 +161,7 @@ struct iscsi_ecdb_ahdr {
 };
 
 /* SCSI Response Header */
-struct iscsi_cmd_rsp {
+struct iscsi_scsi_rsp {
        uint8_t opcode;
        uint8_t flags;
        uint8_t response;
@@ -406,7 +406,7 @@ struct iscsi_text_rsp {
 };
 
 /* Login Header */
-struct iscsi_login {
+struct iscsi_login_req {
        uint8_t opcode;
        uint8_t flags;
        uint8_t max_version;    /* Max. version supported */
@@ -427,7 +427,13 @@ struct iscsi_login {
 #define ISCSI_FLAG_LOGIN_TRANSIT               0x80
 #define ISCSI_FLAG_LOGIN_CONTINUE              0x40
 #define ISCSI_FLAG_LOGIN_CURRENT_STAGE_MASK    0x0C    /* 2 bits */
+#define ISCSI_FLAG_LOGIN_CURRENT_STAGE1                0x04
+#define ISCSI_FLAG_LOGIN_CURRENT_STAGE2                0x08
+#define ISCSI_FLAG_LOGIN_CURRENT_STAGE3                0x0C
 #define ISCSI_FLAG_LOGIN_NEXT_STAGE_MASK       0x03    /* 2 bits */
+#define ISCSI_FLAG_LOGIN_NEXT_STAGE1           0x01
+#define ISCSI_FLAG_LOGIN_NEXT_STAGE2           0x02
+#define ISCSI_FLAG_LOGIN_NEXT_STAGE3           0x03
 
 #define ISCSI_LOGIN_CURRENT_STAGE(flags) \
        ((flags & ISCSI_FLAG_LOGIN_CURRENT_STAGE_MASK) >> 2)
@@ -550,17 +556,25 @@ struct iscsi_logout_rsp {
 struct iscsi_snack {
        uint8_t opcode;
        uint8_t flags;
-       uint8_t rsvd2[14];
+       uint8_t rsvd2[2];
+       uint8_t hlength;
+       uint8_t dlength[3];
+       uint8_t lun[8];
        itt_t    itt;
+       __be32  ttt;
+       uint8_t rsvd3[4];
+       __be32  exp_statsn;
+       uint8_t rsvd4[8];
        __be32  begrun;
        __be32  runlength;
-       __be32  exp_statsn;
-       __be32  rsvd3;
-       __be32  exp_datasn;
-       uint8_t rsvd6[8];
 };
 
 /* SNACK PDU flags */
+#define ISCSI_FLAG_SNACK_TYPE_DATA             0
+#define ISCSI_FLAG_SNACK_TYPE_R2T              0
+#define ISCSI_FLAG_SNACK_TYPE_STATUS           1
+#define ISCSI_FLAG_SNACK_TYPE_DATA_ACK         2
+#define ISCSI_FLAG_SNACK_TYPE_RDATA            3
 #define ISCSI_FLAG_SNACK_TYPE_MASK     0x0F    /* 4 bits */
 
 /* Reject Message Header */