Commit 8662aad6 authored by Shuhei Matsumoto's avatar Shuhei Matsumoto Committed by Jim Harris
Browse files

bdev/nvme: Move fast_io_fail_timeout check from check_op_after_reset



Checking fast_io_fail_timeout does not affect operation after reset.
It was confusing that a check function changed state. But, it is still
desirable that the check is done under nvme_ctrlr->mutex.

Hence, move checking fast_io_fail_timeout from
bdev_nvme_check_op_after_reset() to bdev_nvme_reset_ctrlr_complete().

Change-Id: I709509ce5ff1194ee6e3650b9e3c454d08f18dca
Signed-off-by: default avatarShuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/25861


Reviewed-by: default avatarJim Harris <jim.harris@nvidia.com>
Reviewed-by: default avatarJacek Kalwas <jacek.kalwas@nutanix.com>
Tested-by: default avatarSPDK Automated Test System <spdkbot@gmail.com>
Reviewed-by: default avatarBen Walker <ben@nvidia.com>
Community-CI: Mellanox Build Bot
parent 5869fcab
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -2187,9 +2187,6 @@ bdev_nvme_check_op_after_reset(struct nvme_ctrlr *nvme_ctrlr, bool success)
	} else if (bdev_nvme_check_ctrlr_loss_timeout(nvme_ctrlr)) {
		return OP_DESTRUCT;
	} else {
		if (bdev_nvme_check_fast_io_fail_timeout(nvme_ctrlr)) {
			nvme_ctrlr->fast_io_fail_timedout = true;
		}
		return OP_DELAYED_RECONNECT;
	}
}
@@ -2290,6 +2287,9 @@ bdev_nvme_reset_ctrlr_complete(struct nvme_ctrlr *nvme_ctrlr, bool success)

	if (!success) {
		NVME_CTRLR_ERRLOG(nvme_ctrlr, "Resetting controller failed.\n");
		if (bdev_nvme_check_fast_io_fail_timeout(nvme_ctrlr)) {
			nvme_ctrlr->fast_io_fail_timedout = true;
		}
	} else {
		NVME_CTRLR_NOTICELOG(nvme_ctrlr, "Resetting controller successful.\n");
	}