Commit ecec6309 authored by Yash Raj Singh's avatar Yash Raj Singh Committed by Tomasz Zawadzki
Browse files

bdev/nvme: Properly log for csts register read failure during timeout



This patch adds proper logging for the csts register read failure in the
timeout_cb path of bdev nvme layer. Earlier we used to log for
controller fatal status even when the csts register read itself failed.
Now we log appropriately for both the cases.

Change-Id: Ibc1968f212b1e010152e7ba5ad41028f55efc241
Signed-off-by: default avatarYash Raj Singh <yash.rajsingh@nutanix.com>
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/26375


Community-CI: Mellanox Build Bot
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>
Reviewed-by: default avatarJacek Kalwas <jacek.kalwas@nutanix.com>
parent ff20880b
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -4811,7 +4811,8 @@ timeout_cb(void *cb_arg, struct spdk_nvme_ctrlr *ctrlr,
	if (nvme_ctrlr->active_path_id->trid.trtype == SPDK_NVME_TRANSPORT_PCIE || qpair != NULL) {
		csts = spdk_nvme_ctrlr_get_regs_csts(ctrlr);
		if (csts.bits.cfs) {
			NVME_CTRLR_ERRLOG(nvme_ctrlr, "Controller Fatal Status, reset required\n");
			NVME_CTRLR_ERRLOG(nvme_ctrlr, "%s, reset required\n",
					  csts.raw == 0xFFFFFFFF ? "Could not read csts register" : "Controller Fatal Status");
			bdev_nvme_reset_ctrlr(nvme_ctrlr);
			return;
		}