[PATCH RFC 3/3] nvme: delay failover by command quiesce timeout
Daniel Wagner
dwagner at suse.de
Wed Apr 16 04:33:55 PDT 2025
On Tue, Apr 15, 2025 at 05:23:24PM -0700, Mohamed Khalfella wrote:
> > - nvme_req(req)->status = 0;
> > - nvme_end_req(req);
> > - 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);
> > +
>
> In case the delay in nvme_schedule_failover() is larget than request
> timeout, is it possible for timeout callback to be called while a
> request is sitting in failover_list?
Yes this can happen.
> Is there any guarantee to prevent this from happening? I understand from
> the patch that we do not want this to happen, right?
As already said, I think with failover queue we need to handle timeouts
on command basis.
More information about the Linux-nvme
mailing list