Commit 2241c15c authored by Jacek Kalwas's avatar Jacek Kalwas Committed by Tomasz Zawadzki
Browse files

nvme: add logging to nvme_qpair_set_state



The qpair state is set in multiple code paths. Having
nvme_qpair_set_state as a macro makes it possible to see the caller.

Moreover, added qpair's state to [ERR|WARN|NOTICE]LOG. Intentionally
skipped DEBUGLOG as it is covered by the nvme_qpair_set_state now.

Change-Id: I11905f3942b2f6fefce84fe6c262484b0808598e
Signed-off-by: default avatarJacek Kalwas <jacek.kalwas@nutanix.com>
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/26541


Tested-by: default avatarSPDK Automated Test System <spdkbot@gmail.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz@tzawadzki.com>
Reviewed-by: default avatarJim Harris <jim.harris@nvidia.com>
Community-CI: Mellanox Build Bot
parent bf232c47
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -634,7 +634,7 @@ struct spdk_nvme_ns {
	} else if (!(qpair)->ctrlr) { \
		SPDK_##type##LOG("[null ctrlr,%u,%p] " format, (qpair)->id, (qpair), ##__VA_ARGS__); \
	} else { \
		SPDK_##type##LOG("[%s,%s,%u,%u,%p] " format, (qpair)->ctrlr->opts.hostnqn, CTRLR_STRING((qpair)->ctrlr), (qpair)->ctrlr->cntlid, (qpair)->id, (qpair), ##__VA_ARGS__); \
		SPDK_##type##LOG("[%s,%s,%u,%u,%p,%s] " format, (qpair)->ctrlr->opts.hostnqn, CTRLR_STRING((qpair)->ctrlr), (qpair)->ctrlr->cntlid, (qpair)->id, (qpair), nvme_qpair_state_string((qpair)->state), ##__VA_ARGS__); \
	} \
} while (0)

@@ -1601,7 +1601,10 @@ nvme_request_abort_match(struct nvme_request *req, void *cmd_cb_arg)
	       (req->parent != NULL && req->parent->cb_arg == cmd_cb_arg);
}

const char *nvme_qpair_state_string(enum nvme_qpair_state state);

#define nvme_qpair_set_state(_qpair, _state) do { \
	NVME_QPAIR_DEBUGLOG((_qpair), "setting qpair state to %s\n", nvme_qpair_state_string((_state))); \
	(_qpair)->state = (_state); \
	if ((_state) == NVME_QPAIR_ENABLED) { \
		(_qpair)->is_new_qpair = false; \
+23 −0
Original line number Diff line number Diff line
@@ -483,6 +483,29 @@ spdk_nvme_qpair_print_completion(struct spdk_nvme_qpair *qpair, struct spdk_nvme
	spdk_nvme_print_completion(qpair->id, cpl);
}

const char *
nvme_qpair_state_string(enum nvme_qpair_state state)
{
	switch (state) {
	case NVME_QPAIR_DISCONNECTED:
		return "DISCONNECTED";
	case NVME_QPAIR_DISCONNECTING:
		return "DISCONNECTING";
	case NVME_QPAIR_CONNECTING:
		return "CONNECTING";
	case NVME_QPAIR_CONNECTED:
		return "CONNECTED";
	case NVME_QPAIR_ENABLING:
		return "ENABLING";
	case NVME_QPAIR_ENABLED:
		return "ENABLED";
	case NVME_QPAIR_DESTROYING:
		return "DESTROYING";
	default:
		return "UNKNOWN";
	}
}

bool
nvme_completion_is_retry(const struct spdk_nvme_cpl *cpl)
{
+1 −0
Original line number Diff line number Diff line
@@ -99,6 +99,7 @@ DEFINE_STUB(nvme_fabric_qpair_authenticate_poll, int, (struct spdk_nvme_qpair *q
DEFINE_STUB_V(nvme_transport_ctrlr_disconnect_qpair, (struct spdk_nvme_ctrlr *ctrlr,
		struct spdk_nvme_qpair *qpair));
DEFINE_STUB(nvme_poll_group_disconnect_qpair, int, (struct spdk_nvme_qpair *qpair), 0);
DEFINE_STUB(nvme_qpair_state_string, const char *, (enum nvme_qpair_state state), NULL);

int
nvme_qpair_init(struct spdk_nvme_qpair *qpair, uint16_t id,
+1 −0
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ DEFINE_STUB(spdk_pci_event_listen, int, (void), 0);
DEFINE_STUB(spdk_nvme_poll_group_process_completions, int64_t, (struct spdk_nvme_poll_group *group,
		uint32_t completions_per_qpair, spdk_nvme_disconnected_qpair_cb disconnected_qpair_cb), 0);
DEFINE_STUB(nvme_transport_ctrlr_scan_attached, int, (struct spdk_nvme_probe_ctx *probe_ctx), 0);
DEFINE_STUB(nvme_qpair_state_string, const char *, (enum nvme_qpair_state state), NULL);

static bool ut_destruct_called = false;
void
+1 −0
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ DEFINE_STUB_V(nvme_qpair_abort_queued_reqs, (struct spdk_nvme_qpair *qpair));
DEFINE_STUB(spdk_nvme_qpair_authenticate, int, (struct spdk_nvme_qpair *qpair,
		spdk_nvme_authenticate_cb cb_fn, void *cb_ctx), 0);
DEFINE_STUB(nvme_transport_ctrlr_enable_interrupts, int, (struct spdk_nvme_ctrlr *ctrlr), 0);
DEFINE_STUB(nvme_qpair_state_string, const char *, (enum nvme_qpair_state state), NULL);

int
nvme_get_default_hostnqn(char *buf, int len)
Loading