[PATCH] nvme/mpath: fix hang when disk goes live over reconnect

Anton Eidelman anton.eidelman at gmail.com
Mon Oct 4 09:46:12 PDT 2021


On Tue, Sep 21, 2021 at 09:15:27AM +0200, Christoph Hellwig wrote:
> On Mon, Sep 20, 2021 at 08:53:36AM -0600, Anton Eidelman wrote:
> > The wrapper is to:
> > - follow the naming convention for mpath functions called from core
> > - allow the implementation to have more logic in future
> > 
> > As for error propagation, nvme_start_ctrl is void.
> 
> Which of course can be changed, like all software.
> 
> > Any error in nvme_read_ana_log() will have the same effect as
> > when it is invoked from nvme_ana_work(), i.e. will be ignored.
> 
> We need to return negative errors during initialization otherwise
> we're going to run into teardown problems.

How do we proceed with this fix?
I believe error propagation here is not wanted because:
1) A failure to fetch or parse the ANA log should not be considered
   an error in ctrl initialization.
2) Such error will not cause problems in teardown.
3) The same failure is possible in ANA work and we do not take
   any action in such case.
4) Adding support for failure to nvme_start_ctrl() adds complexity
   and does not look useful due to the above 1-3.



More information about the Linux-nvme mailing list