Commit 91b9b4b2 authored by Ben Walker's avatar Ben Walker
Browse files

nvmf: Simplify qpair states



When we thought we could do error recovery we differentiated between
inactive and erro states. However, that's not possible so collapse
them back into one.

Change-Id: I57622c400378f2d4c518efbc12fb52e665a9ba4c
Signed-off-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/430627


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarSeth Howell <seth.howell5141@gmail.com>
parent 50a438d3
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -700,7 +700,7 @@ spdk_nvmf_poll_group_add(struct spdk_nvmf_poll_group *group,
	if (rc == 0) {
		spdk_nvmf_qpair_set_state(qpair, SPDK_NVMF_QPAIR_ACTIVE);
	} else {
		spdk_nvmf_qpair_set_state(qpair, SPDK_NVMF_QPAIR_INACTIVE);
		spdk_nvmf_qpair_set_state(qpair, SPDK_NVMF_QPAIR_ERROR);
	}

	return rc;
@@ -743,7 +743,7 @@ _spdk_nvmf_qpair_destroy(void *ctx, int status)
	struct spdk_nvmf_ctrlr *ctrlr = qpair->ctrlr;

	assert(qpair->state == SPDK_NVMF_QPAIR_DEACTIVATING);
	spdk_nvmf_qpair_set_state(qpair, SPDK_NVMF_QPAIR_INACTIVE);
	spdk_nvmf_qpair_set_state(qpair, SPDK_NVMF_QPAIR_ERROR);
	qpair_ctx->qid = qpair->qid;

	TAILQ_REMOVE(&qpair->group->qpairs, qpair, link);
@@ -781,8 +781,7 @@ spdk_nvmf_qpair_disconnect(struct spdk_nvmf_qpair *qpair, nvmf_qpair_disconnect_
	/* The queue pair must be disconnected from the thread that owns it */
	assert(qpair->group->thread == spdk_get_thread());

	if (qpair->state == SPDK_NVMF_QPAIR_DEACTIVATING ||
	    qpair->state == SPDK_NVMF_QPAIR_INACTIVE) {
	if (qpair->state != SPDK_NVMF_QPAIR_ACTIVE) {
		/* This can occur if the connection is killed by the target,
		 * which results in a notification that the connection
		 * died. Send a message to defer the processing of this
+0 −1
Original line number Diff line number Diff line
@@ -59,7 +59,6 @@ enum spdk_nvmf_subsystem_state {

enum spdk_nvmf_qpair_state {
	SPDK_NVMF_QPAIR_UNINITIALIZED = 0,
	SPDK_NVMF_QPAIR_INACTIVE,
	SPDK_NVMF_QPAIR_ACTIVATING,
	SPDK_NVMF_QPAIR_ACTIVE,
	SPDK_NVMF_QPAIR_DEACTIVATING,