scsi: make spdk_scsi_port definition private
Change-Id: Ib2c17a4dd4ce680161be92f76b831df792f9ff4d Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
parent
2eb9a35323
commit
2990f869a1
@ -163,12 +163,7 @@ struct spdk_scsi_task {
|
|||||||
TAILQ_HEAD(subtask_list, spdk_scsi_task) subtask_list;
|
TAILQ_HEAD(subtask_list, spdk_scsi_task) subtask_list;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct spdk_scsi_port {
|
struct spdk_scsi_port;
|
||||||
struct spdk_scsi_dev *dev;
|
|
||||||
uint64_t id;
|
|
||||||
uint16_t index;
|
|
||||||
char name[SPDK_SCSI_PORT_MAX_NAME_LENGTH];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct spdk_scsi_dev;
|
struct spdk_scsi_dev;
|
||||||
|
|
||||||
@ -221,8 +216,9 @@ struct spdk_scsi_dev *spdk_scsi_dev_construct(const char *name,
|
|||||||
void spdk_scsi_dev_delete_lun(struct spdk_scsi_dev *dev, struct spdk_scsi_lun *lun);
|
void spdk_scsi_dev_delete_lun(struct spdk_scsi_dev *dev, struct spdk_scsi_lun *lun);
|
||||||
|
|
||||||
|
|
||||||
int spdk_scsi_port_construct(struct spdk_scsi_port *port, uint64_t id,
|
struct spdk_scsi_port *spdk_scsi_port_create(uint64_t id, uint16_t index, const char *name);
|
||||||
uint16_t index, const char *name);
|
void spdk_scsi_port_free(struct spdk_scsi_port **pport);
|
||||||
|
const char *spdk_scsi_port_get_name(const struct spdk_scsi_port *port);
|
||||||
|
|
||||||
|
|
||||||
void spdk_scsi_task_construct(struct spdk_scsi_task *task, uint32_t *owner_task_ctr,
|
void spdk_scsi_task_construct(struct spdk_scsi_task *task, uint32_t *owner_task_ctr,
|
||||||
|
@ -772,7 +772,7 @@ spdk_iscsi_drop_conns(struct spdk_iscsi_conn *conn, const char *conn_match,
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
xconn_match =
|
xconn_match =
|
||||||
drop_all ? xconn->initiator_name : xconn->initiator_port->name;
|
drop_all ? xconn->initiator_name : spdk_scsi_port_get_name(xconn->initiator_port);
|
||||||
|
|
||||||
if (!strcasecmp(conn_match, xconn_match) &&
|
if (!strcasecmp(conn_match, xconn_match) &&
|
||||||
conn->target == xconn->target) {
|
conn->target == xconn->target) {
|
||||||
@ -1206,8 +1206,8 @@ spdk_iscsi_conn_handle_incoming_pdus(struct spdk_iscsi_conn *conn)
|
|||||||
spdk_put_pdu(pdu);
|
spdk_put_pdu(pdu);
|
||||||
if (rc != 0) {
|
if (rc != 0) {
|
||||||
SPDK_ERRLOG("spdk_iscsi_execute() fatal error on %s(%s)\n",
|
SPDK_ERRLOG("spdk_iscsi_execute() fatal error on %s(%s)\n",
|
||||||
conn->target_port != NULL ? conn->target_port->name : "NULL",
|
conn->target_port != NULL ? spdk_scsi_port_get_name(conn->target_port) : "NULL",
|
||||||
conn->initiator_port != NULL ? conn->initiator_port->name : "NULL");
|
conn->initiator_port != NULL ? spdk_scsi_port_get_name(conn->initiator_port) : "NULL");
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1613,9 +1613,8 @@ spdk_iscsi_op_login_set_conn_info(struct spdk_iscsi_conn *conn,
|
|||||||
|
|
||||||
/* initialize parameters */
|
/* initialize parameters */
|
||||||
conn->StatSN = from_be32(&rsph->stat_sn);
|
conn->StatSN = from_be32(&rsph->stat_sn);
|
||||||
spdk_scsi_port_construct(&conn->sess->initiator_port,
|
conn->sess->initiator_port = spdk_scsi_port_create(spdk_iscsi_get_isid(rsph->isid), 0,
|
||||||
spdk_iscsi_get_isid(rsph->isid), 0,
|
initiator_port_name);
|
||||||
initiator_port_name);
|
|
||||||
conn->sess->isid = spdk_iscsi_get_isid(rsph->isid);
|
conn->sess->isid = spdk_iscsi_get_isid(rsph->isid);
|
||||||
conn->sess->target = target;
|
conn->sess->target = target;
|
||||||
|
|
||||||
@ -1633,7 +1632,7 @@ spdk_iscsi_op_login_set_conn_info(struct spdk_iscsi_conn *conn,
|
|||||||
conn->sess->MaxCmdSN = rsp_pdu->cmd_sn + conn->sess->queue_depth - 1;
|
conn->sess->MaxCmdSN = rsp_pdu->cmd_sn + conn->sess->queue_depth - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
conn->initiator_port = &conn->sess->initiator_port;
|
conn->initiator_port = conn->sess->initiator_port;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -4437,6 +4436,7 @@ void spdk_free_sess(struct spdk_iscsi_sess *sess)
|
|||||||
sess->session_type = SESSION_TYPE_INVALID;
|
sess->session_type = SESSION_TYPE_INVALID;
|
||||||
spdk_iscsi_param_free(sess->params);
|
spdk_iscsi_param_free(sess->params);
|
||||||
free(sess->conns);
|
free(sess->conns);
|
||||||
|
spdk_scsi_port_free(&sess->initiator_port);
|
||||||
rte_mempool_put(g_spdk_iscsi.session_pool, (void *)sess);
|
rte_mempool_put(g_spdk_iscsi.session_pool, (void *)sess);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4632,7 +4632,7 @@ spdk_append_iscsi_sess(struct spdk_iscsi_conn *conn,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if ((conn->portal->group->tag != sess->tag) ||
|
if ((conn->portal->group->tag != sess->tag) ||
|
||||||
(strcasecmp(initiator_port_name, sess->initiator_port.name) != 0) ||
|
(strcasecmp(initiator_port_name, spdk_scsi_port_get_name(sess->initiator_port)) != 0) ||
|
||||||
(conn->target != sess->target)) {
|
(conn->target != sess->target)) {
|
||||||
/* no match */
|
/* no match */
|
||||||
SPDK_ERRLOG("no MCS session for init port name=%s, tsih=%d, cid=%d\n",
|
SPDK_ERRLOG("no MCS session for init port name=%s, tsih=%d, cid=%d\n",
|
||||||
|
@ -232,7 +232,7 @@ struct spdk_iscsi_sess {
|
|||||||
uint32_t connections;
|
uint32_t connections;
|
||||||
struct spdk_iscsi_conn **conns;
|
struct spdk_iscsi_conn **conns;
|
||||||
|
|
||||||
struct spdk_scsi_port initiator_port;
|
struct spdk_scsi_port *initiator_port;
|
||||||
int tag;
|
int tag;
|
||||||
|
|
||||||
uint64_t isid;
|
uint64_t isid;
|
||||||
|
@ -34,6 +34,39 @@
|
|||||||
|
|
||||||
#include "scsi_internal.h"
|
#include "scsi_internal.h"
|
||||||
|
|
||||||
|
struct spdk_scsi_port *
|
||||||
|
spdk_scsi_port_create(uint64_t id, uint16_t index, const char *name)
|
||||||
|
{
|
||||||
|
struct spdk_scsi_port *port;
|
||||||
|
|
||||||
|
port = calloc(1, sizeof(struct spdk_scsi_port));
|
||||||
|
|
||||||
|
if (!port) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (spdk_scsi_port_construct(port, id, index, name) != 0) {
|
||||||
|
spdk_scsi_port_free(&port);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return port;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
spdk_scsi_port_free(struct spdk_scsi_port **pport)
|
||||||
|
{
|
||||||
|
struct spdk_scsi_port *port;
|
||||||
|
|
||||||
|
if (!pport) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
port = *pport;
|
||||||
|
*pport = NULL;
|
||||||
|
free(port);
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
spdk_scsi_port_construct(struct spdk_scsi_port *port, uint64_t id, uint16_t index,
|
spdk_scsi_port_construct(struct spdk_scsi_port *port, uint64_t id, uint16_t index,
|
||||||
const char *name)
|
const char *name)
|
||||||
@ -48,3 +81,9 @@ spdk_scsi_port_construct(struct spdk_scsi_port *port, uint64_t id, uint16_t inde
|
|||||||
snprintf(port->name, sizeof(port->name), "%s", name);
|
snprintf(port->name, sizeof(port->name), "%s", name);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *
|
||||||
|
spdk_scsi_port_get_name(const struct spdk_scsi_port *port)
|
||||||
|
{
|
||||||
|
return port->name;
|
||||||
|
}
|
||||||
|
@ -62,6 +62,13 @@ enum {
|
|||||||
SPDK_SCSI_TASK_PENDING,
|
SPDK_SCSI_TASK_PENDING,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct spdk_scsi_port {
|
||||||
|
struct spdk_scsi_dev *dev;
|
||||||
|
uint64_t id;
|
||||||
|
uint16_t index;
|
||||||
|
char name[SPDK_SCSI_PORT_MAX_NAME_LENGTH];
|
||||||
|
};
|
||||||
|
|
||||||
struct spdk_scsi_dev {
|
struct spdk_scsi_dev {
|
||||||
int id;
|
int id;
|
||||||
int is_allocated;
|
int is_allocated;
|
||||||
@ -148,6 +155,9 @@ struct spdk_scsi_lun *spdk_lun_db_get_lun(const char *lun_name);
|
|||||||
|
|
||||||
struct spdk_scsi_dev *spdk_scsi_dev_get_list(void);
|
struct spdk_scsi_dev *spdk_scsi_dev_get_list(void);
|
||||||
|
|
||||||
|
int spdk_scsi_port_construct(struct spdk_scsi_port *port, uint64_t id,
|
||||||
|
uint16_t index, const char *name);
|
||||||
|
|
||||||
int spdk_bdev_scsi_execute(struct spdk_bdev *bdev, struct spdk_scsi_task *task);
|
int spdk_bdev_scsi_execute(struct spdk_bdev *bdev, struct spdk_scsi_task *task);
|
||||||
int spdk_bdev_scsi_reset(struct spdk_bdev *bdev, struct spdk_scsi_task *task);
|
int spdk_bdev_scsi_reset(struct spdk_bdev *bdev, struct spdk_scsi_task *task);
|
||||||
|
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
|
|
||||||
#include "spdk_internal/log.h"
|
#include "spdk_internal/log.h"
|
||||||
|
|
||||||
|
#include "scsi/scsi_internal.h"
|
||||||
|
|
||||||
SPDK_LOG_REGISTER_TRACE_FLAG("iscsi", SPDK_TRACE_ISCSI)
|
SPDK_LOG_REGISTER_TRACE_FLAG("iscsi", SPDK_TRACE_ISCSI)
|
||||||
|
|
||||||
struct spdk_iscsi_task *
|
struct spdk_iscsi_task *
|
||||||
@ -77,13 +79,6 @@ spdk_scsi_dev_find_port_by_id(struct spdk_scsi_dev *dev, uint64_t id)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
spdk_scsi_port_construct(struct spdk_scsi_port *port, uint64_t id, uint16_t index,
|
|
||||||
const char *name)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
spdk_scsi_dev_queue_mgmt_task(struct spdk_scsi_dev *dev,
|
spdk_scsi_dev_queue_mgmt_task(struct spdk_scsi_dev *dev,
|
||||||
struct spdk_scsi_task *task)
|
struct spdk_scsi_task *task)
|
||||||
|
@ -42,7 +42,9 @@ CFLAGS += -I$(SPDK_ROOT_DIR)/test
|
|||||||
CFLAGS += -I$(SPDK_ROOT_DIR)/lib
|
CFLAGS += -I$(SPDK_ROOT_DIR)/lib
|
||||||
LIBS += $(SPDK_LIB_LINKER_ARGS) $(ENV_LINKER_ARGS)
|
LIBS += $(SPDK_LIB_LINKER_ARGS) $(ENV_LINKER_ARGS)
|
||||||
LIBS += -lcunit -lcrypto
|
LIBS += -lcunit -lcrypto
|
||||||
|
SCSI_OBJS = port
|
||||||
ISCSI_OBJS = iscsi crc32c md5 param
|
ISCSI_OBJS = iscsi crc32c md5 param
|
||||||
|
OBJS += $(SCSI_OBJS:%=$(SPDK_ROOT_DIR)/lib/scsi/%.o)
|
||||||
OBJS += $(ISCSI_OBJS:%=$(SPDK_ROOT_DIR)/lib/iscsi/%.o)
|
OBJS += $(ISCSI_OBJS:%=$(SPDK_ROOT_DIR)/lib/iscsi/%.o)
|
||||||
|
|
||||||
APP = pdu
|
APP = pdu
|
||||||
|
Loading…
Reference in New Issue
Block a user