Re: [RFC PATCH 07/14] nvme: Add RECOVERING nvme controller state

From: Sagi Grimberg

Date: Sat Dec 27 2025 - 04:55:20 EST




On 25/12/2025 19:17, Mohamed Khalfella wrote:
On Thu 2025-12-25 15:29:52 +0200, Sagi Grimberg wrote:

On 26/11/2025 4:11, Mohamed Khalfella wrote:
Add NVME_CTRL_RECOVERING as a new controller state to be used when
impacted controller is being recovered. A LIVE controller enters
RECOVERING state when an IO error is encountered. While recovering
inflight IOs will not be canceled if they timeout. These IOs will be
canceled after recovery finishes. Also, while recovering a controller
can not be reset or deleted. This is intentional because reset or delete
will result in canceling inflight IOs. When recovery finishes, the
impacted controller transitions from RECOVERING state to RESETTING state.
Reset codepath takes care of queues teardown and inflight requests
cancellation.
Is RECOVERING really capturing the nature of this state? Maybe RESETTLING?
or QUIESCING?
Naming is hard. QUIESCING sounds better, I will renaming it to
QUIESCING.

I actually think that FENCING is probably best to describe what the state is used for...