nvmf: update nvmf_disconnect to spdk_nvmf_session_disconnect
1 Rename this function and make it more meaninful, since we have spdk_nvmf_session_connect which is used to link a connection to the session 2 split spdk_nvmf_session_destruct. Change-Id: I150df7ccdf4de3428d8cecbb286d5f7944510a8c Signed-off-by: Ziye Yang <ziye.yang@intel.com>
This commit is contained in:
parent
b3ca958328
commit
6a6ef0d7e0
@ -172,7 +172,7 @@ disconnect_event(struct spdk_event *event)
|
||||
{
|
||||
struct spdk_nvmf_conn *conn = spdk_event_get_arg1(event);
|
||||
|
||||
spdk_nvmf_handle_disconnect(conn);
|
||||
spdk_nvmf_session_disconnect(conn);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -156,11 +156,16 @@ nvmf_init_nvme_session_properties(struct nvmf_session *session)
|
||||
session->vcprop.csts.raw);
|
||||
}
|
||||
|
||||
static void session_destruct(struct nvmf_session *session)
|
||||
{
|
||||
session->subsys->session = NULL;
|
||||
session->transport->session_fini(session);
|
||||
free(session);
|
||||
}
|
||||
|
||||
void
|
||||
spdk_nvmf_session_destruct(struct nvmf_session *session)
|
||||
{
|
||||
session->subsys->session = NULL;
|
||||
|
||||
while (!TAILQ_EMPTY(&session->connections)) {
|
||||
struct spdk_nvmf_conn *conn = TAILQ_FIRST(&session->connections);
|
||||
|
||||
@ -169,9 +174,7 @@ spdk_nvmf_session_destruct(struct nvmf_session *session)
|
||||
conn->transport->conn_fini(conn);
|
||||
}
|
||||
|
||||
session->transport->session_fini(session);
|
||||
|
||||
free(session);
|
||||
session_destruct(session);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -327,16 +330,17 @@ spdk_nvmf_session_connect(struct spdk_nvmf_conn *conn,
|
||||
}
|
||||
|
||||
void
|
||||
spdk_nvmf_handle_disconnect(struct spdk_nvmf_conn *conn)
|
||||
spdk_nvmf_session_disconnect(struct spdk_nvmf_conn *conn)
|
||||
{
|
||||
struct nvmf_session *session = conn->sess;
|
||||
|
||||
assert(session != NULL);
|
||||
session->num_connections--;
|
||||
TAILQ_REMOVE(&session->connections, conn, link);
|
||||
conn->transport->conn_fini(conn);
|
||||
|
||||
if (session->num_connections == 0) {
|
||||
spdk_nvmf_session_destruct(session);
|
||||
session_destruct(session);
|
||||
}
|
||||
}
|
||||
|
||||
@ -556,7 +560,7 @@ spdk_nvmf_session_poll(struct nvmf_session *session)
|
||||
TAILQ_FOREACH_SAFE(conn, &session->connections, link, tmp) {
|
||||
if (conn->transport->conn_poll(conn) < 0) {
|
||||
SPDK_ERRLOG("Transport poll failed for conn %p; closing connection\n", conn);
|
||||
spdk_nvmf_handle_disconnect(conn);
|
||||
spdk_nvmf_session_disconnect(conn);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -93,7 +93,8 @@ void spdk_nvmf_session_connect(struct spdk_nvmf_conn *conn,
|
||||
struct spdk_nvmf_fabric_connect_data *data,
|
||||
struct spdk_nvmf_fabric_connect_rsp *rsp);
|
||||
|
||||
void spdk_nvmf_handle_disconnect(struct spdk_nvmf_conn *conn);
|
||||
void
|
||||
spdk_nvmf_session_disconnect(struct spdk_nvmf_conn *conn);
|
||||
|
||||
void
|
||||
nvmf_property_get(struct nvmf_session *session,
|
||||
|
@ -964,15 +964,11 @@ nvmf_test_disconnect(void)
|
||||
struct spdk_nvmf_subsystem *subsystem;
|
||||
|
||||
sess = nvmf_find_session_by_id("subsystem1", SS_SC_CNTLID);
|
||||
/* delete non-exist connection */
|
||||
nvmf_disconnect((void *)6, sess);
|
||||
/* we have two connections admin and io */
|
||||
CU_ASSERT_EQUAL(sess->num_connections, 2);
|
||||
/* delete IO connection */
|
||||
nvmf_disconnect((void *)fabric_conn_IO, sess);
|
||||
spdk_nvmf_session_disconnect((void *)fabric_conn_IO);
|
||||
CU_ASSERT_EQUAL(sess->num_connections, 1);
|
||||
/* delete admin connection */
|
||||
nvmf_disconnect((void *)fabric_conn_admin, sess);
|
||||
spdk_nvmf_session_disconnect((void *)fabric_conn_admin);
|
||||
subsystem = nvmf_find_subsystem("subsystem1");
|
||||
CU_ASSERT_EQUAL(subsystem->num_sessions, 0);
|
||||
}
|
||||
|
@ -111,7 +111,7 @@ struct spdk_nvme_ns *spdk_nvme_ctrlr_get_ns(struct spdk_nvme_ctrlr *ctrlr, uint3
|
||||
}
|
||||
|
||||
void
|
||||
spdk_nvmf_handle_disconnect(struct spdk_nvmf_conn *conn)
|
||||
spdk_nvmf_session_disconnect(struct spdk_nvmf_conn *conn)
|
||||
{
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user