Re: [PATCH RFC 3/3] nvme: delay failover by command quiesce timeout
From: Daniel Wagner
Date: Tue Apr 15 2025 - 08:05:33 EST
On Tue, Apr 01, 2025 at 07:02:11PM +0530, Nilay Shroff wrote:
> - kblockd_schedule_work(&ns->head->requeue_work);
> > + spin_lock_irqsave(&ctrl->lock, flags);
> > + list_add_tail(&req->queuelist, &ctrl->failover_list);
> > + spin_unlock_irqrestore(&ctrl->lock, flags);
> > +
>
> Why do we need to wait until error_recovery for scheduling failover?
This is where the delay is added to the processing. The failed requests
(timeout) are held back by the delay here and after the wait the are
immediately fall over
> Can't we schedule failover as soon as we get path error? Also can't
> we avoid failover_list?
Then we have exactly what we have now. An failed request is rescheduled
to the next path immediately.