[RFC PATCH 07/14] nvme: Add RECOVERING nvme controller state
Mohamed Khalfella
mkhalfella at purestorage.com
Wed Dec 31 14:36:52 PST 2025
On Sat 2025-12-27 11:55:01 +0200, Sagi Grimberg wrote:
>
>
> 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...
FENCING is used in HA clusters with persistent reservations. I find it
confusing to use it here. Let me know if you have strong preference.
More information about the Linux-nvme
mailing list