提交 12352183 编写于 作者: N Nicholas Bellinger

iscsi: Resolve iscsi_proto.h naming conflicts with drivers/target/iscsi

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: NMike Christie <michaelc@cs.wisc.edu>
Signed-off-by: NNicholas A. Bellinger <nab@linux-iscsi.org>
上级 bbd9d6f7
...@@ -271,7 +271,7 @@ int iser_send_command(struct iscsi_conn *conn, ...@@ -271,7 +271,7 @@ int iser_send_command(struct iscsi_conn *conn,
unsigned long edtl; unsigned long edtl;
int err; int err;
struct iser_data_buf *data_buf; 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 scsi_cmnd *sc = task->sc;
struct iser_tx_desc *tx_desc = &iser_task->desc; struct iser_tx_desc *tx_desc = &iser_task->desc;
......
...@@ -397,7 +397,7 @@ struct amap_pdu_data_out { ...@@ -397,7 +397,7 @@ struct amap_pdu_data_out {
}; };
struct be_cmd_bhs { struct be_cmd_bhs {
struct iscsi_cmd iscsi_hdr; struct iscsi_scsi_req iscsi_hdr;
unsigned char pad1[16]; unsigned char pad1[16];
struct pdu_data_out iscsi_data_pdu; struct pdu_data_out iscsi_data_pdu;
unsigned char pad2[BE_SENSE_INFO_SIZE - unsigned char pad2[BE_SENSE_INFO_SIZE -
...@@ -428,7 +428,7 @@ struct be_nonio_bhs { ...@@ -428,7 +428,7 @@ struct be_nonio_bhs {
}; };
struct be_status_bhs { struct be_status_bhs {
struct iscsi_cmd iscsi_hdr; struct iscsi_scsi_req iscsi_hdr;
unsigned char pad1[16]; unsigned char pad1[16];
/** /**
* The plus 2 below is to hold the sense info length that gets * The plus 2 below is to hold the sense info length that gets
......
...@@ -328,11 +328,11 @@ int bnx2i_send_iscsi_login(struct bnx2i_conn *bnx2i_conn, ...@@ -328,11 +328,11 @@ int bnx2i_send_iscsi_login(struct bnx2i_conn *bnx2i_conn,
{ {
struct bnx2i_cmd *bnx2i_cmd; struct bnx2i_cmd *bnx2i_cmd;
struct bnx2i_login_request *login_wqe; struct bnx2i_login_request *login_wqe;
struct iscsi_login *login_hdr; struct iscsi_login_req *login_hdr;
u32 dword; u32 dword;
bnx2i_cmd = (struct bnx2i_cmd *)task->dd_data; 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 *) login_wqe = (struct bnx2i_login_request *)
bnx2i_conn->ep->qp.sq_prod_qe; bnx2i_conn->ep->qp.sq_prod_qe;
...@@ -1344,7 +1344,7 @@ static int bnx2i_process_scsi_cmd_resp(struct iscsi_session *session, ...@@ -1344,7 +1344,7 @@ static int bnx2i_process_scsi_cmd_resp(struct iscsi_session *session,
struct bnx2i_cmd_response *resp_cqe; struct bnx2i_cmd_response *resp_cqe;
struct bnx2i_cmd *bnx2i_cmd; struct bnx2i_cmd *bnx2i_cmd;
struct iscsi_task *task; struct iscsi_task *task;
struct iscsi_cmd_rsp *hdr; struct iscsi_scsi_rsp *hdr;
u32 datalen = 0; u32 datalen = 0;
resp_cqe = (struct bnx2i_cmd_response *)cqe; resp_cqe = (struct bnx2i_cmd_response *)cqe;
...@@ -1371,7 +1371,7 @@ static int bnx2i_process_scsi_cmd_resp(struct iscsi_session *session, ...@@ -1371,7 +1371,7 @@ static int bnx2i_process_scsi_cmd_resp(struct iscsi_session *session,
} }
bnx2i_iscsi_unmap_sg_list(bnx2i_cmd); 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; resp_cqe = (struct bnx2i_cmd_response *)cqe;
hdr->opcode = resp_cqe->op_code; hdr->opcode = resp_cqe->op_code;
hdr->max_cmdsn = cpu_to_be32(resp_cqe->max_cmd_sn); hdr->max_cmdsn = cpu_to_be32(resp_cqe->max_cmd_sn);
......
...@@ -1212,7 +1212,7 @@ static int bnx2i_task_xmit(struct iscsi_task *task) ...@@ -1212,7 +1212,7 @@ static int bnx2i_task_xmit(struct iscsi_task *task)
struct bnx2i_conn *bnx2i_conn = conn->dd_data; struct bnx2i_conn *bnx2i_conn = conn->dd_data;
struct scsi_cmnd *sc = task->sc; struct scsi_cmnd *sc = task->sc;
struct bnx2i_cmd *cmd = task->dd_data; 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) if (bnx2i_conn->ep->num_active_cmds + 1 > hba->max_sqes)
return -ENOMEM; return -ENOMEM;
......
...@@ -360,7 +360,7 @@ static int iscsi_prep_scsi_cmd_pdu(struct iscsi_task *task) ...@@ -360,7 +360,7 @@ static int iscsi_prep_scsi_cmd_pdu(struct iscsi_task *task)
struct iscsi_conn *conn = task->conn; struct iscsi_conn *conn = task->conn;
struct iscsi_session *session = conn->session; struct iscsi_session *session = conn->session;
struct scsi_cmnd *sc = task->sc; struct scsi_cmnd *sc = task->sc;
struct iscsi_cmd *hdr; struct iscsi_scsi_req *hdr;
unsigned hdrlength, cmd_len; unsigned hdrlength, cmd_len;
itt_t itt; itt_t itt;
int rc; int rc;
...@@ -374,7 +374,7 @@ static int iscsi_prep_scsi_cmd_pdu(struct iscsi_task *task) ...@@ -374,7 +374,7 @@ static int iscsi_prep_scsi_cmd_pdu(struct iscsi_task *task)
if (rc) if (rc)
return rc; return rc;
} }
hdr = (struct iscsi_cmd *) task->hdr; hdr = (struct iscsi_scsi_req *)task->hdr;
itt = hdr->itt; itt = hdr->itt;
memset(hdr, 0, sizeof(*hdr)); memset(hdr, 0, sizeof(*hdr));
...@@ -830,7 +830,7 @@ static void iscsi_scsi_cmd_rsp(struct iscsi_conn *conn, struct iscsi_hdr *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, struct iscsi_task *task, char *data,
int datalen) 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 iscsi_session *session = conn->session;
struct scsi_cmnd *sc = task->sc; struct scsi_cmnd *sc = task->sc;
......
...@@ -116,7 +116,7 @@ struct iscsi_ahs_hdr { ...@@ -116,7 +116,7 @@ struct iscsi_ahs_hdr {
#define ISCSI_CDB_SIZE 16 #define ISCSI_CDB_SIZE 16
/* iSCSI PDU Header */ /* iSCSI PDU Header */
struct iscsi_cmd { struct iscsi_scsi_req {
uint8_t opcode; uint8_t opcode;
uint8_t flags; uint8_t flags;
__be16 rsvd2; __be16 rsvd2;
...@@ -161,7 +161,7 @@ struct iscsi_ecdb_ahdr { ...@@ -161,7 +161,7 @@ struct iscsi_ecdb_ahdr {
}; };
/* SCSI Response Header */ /* SCSI Response Header */
struct iscsi_cmd_rsp { struct iscsi_scsi_rsp {
uint8_t opcode; uint8_t opcode;
uint8_t flags; uint8_t flags;
uint8_t response; uint8_t response;
...@@ -406,7 +406,7 @@ struct iscsi_text_rsp { ...@@ -406,7 +406,7 @@ struct iscsi_text_rsp {
}; };
/* Login Header */ /* Login Header */
struct iscsi_login { struct iscsi_login_req {
uint8_t opcode; uint8_t opcode;
uint8_t flags; uint8_t flags;
uint8_t max_version; /* Max. version supported */ uint8_t max_version; /* Max. version supported */
...@@ -427,7 +427,13 @@ struct iscsi_login { ...@@ -427,7 +427,13 @@ struct iscsi_login {
#define ISCSI_FLAG_LOGIN_TRANSIT 0x80 #define ISCSI_FLAG_LOGIN_TRANSIT 0x80
#define ISCSI_FLAG_LOGIN_CONTINUE 0x40 #define ISCSI_FLAG_LOGIN_CONTINUE 0x40
#define ISCSI_FLAG_LOGIN_CURRENT_STAGE_MASK 0x0C /* 2 bits */ #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_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) \ #define ISCSI_LOGIN_CURRENT_STAGE(flags) \
((flags & ISCSI_FLAG_LOGIN_CURRENT_STAGE_MASK) >> 2) ((flags & ISCSI_FLAG_LOGIN_CURRENT_STAGE_MASK) >> 2)
...@@ -550,17 +556,25 @@ struct iscsi_logout_rsp { ...@@ -550,17 +556,25 @@ struct iscsi_logout_rsp {
struct iscsi_snack { struct iscsi_snack {
uint8_t opcode; uint8_t opcode;
uint8_t flags; 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; itt_t itt;
__be32 ttt;
uint8_t rsvd3[4];
__be32 exp_statsn;
uint8_t rsvd4[8];
__be32 begrun; __be32 begrun;
__be32 runlength; __be32 runlength;
__be32 exp_statsn;
__be32 rsvd3;
__be32 exp_datasn;
uint8_t rsvd6[8];
}; };
/* SNACK PDU flags */ /* 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 */ #define ISCSI_FLAG_SNACK_TYPE_MASK 0x0F /* 4 bits */
/* Reject Message Header */ /* Reject Message Header */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册