[RFC PATCH 07/14] nvme: Add RECOVERING nvme controller state
Mohamed Khalfella
mkhalfella at purestorage.com
Wed Dec 31 15:04:33 PST 2025
On Wed 2025-12-31 14:36:53 -0800, Mohamed Khalfella wrote:
> 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.
Nevermind, I will rename it to FENCING.
More information about the Linux-nvme
mailing list