[PATCH 4/4] nvme: redirect commands on dying queue
Christoph Hellwig
hch at lst.de
Tue Aug 18 02:32:39 EDT 2020
On Mon, Aug 17, 2020 at 11:23:22AM -0400, Mike Snitzer wrote:
> On Mon, Aug 17 2020 at 4:15am -0400,
> Christoph Hellwig <hch at lst.de> wrote:
>
> > From: Chao Leng <lengchao at huawei.com>
> >
> > If a command send through nvme-multipath failed on a dying queue, resend it
> > on another path.
> >
> > Signed-off-by: Chao Leng <lengchao at huawei.com>
> > [hch: rebased on top of the completion refactoring]
> > Signed-off-by: Christoph Hellwig <hch at lst.de>
> > Reviewed-by: Sagi Grimberg <sagi at grimberg.me>
>
> Did we ever learn from Chao what the original issue was? Deciding to
> failover on completion because blk_queue_dying(), without any other
> insight, is definitely new to me.
Yes. Basically the controller is going away after returning a retryable
error.
> But this looks fine, just in general such blk_queue_dying() checks are
> pretty racey right? Feels like this might paper over something else but
> without knowing more:
But I guess the race doesn't matter - if we lose it, ->queue_rq will
fail and the submission path will pick another path as well.
More information about the Linux-nvme
mailing list