[PATCH v2 3/3] nvme/multipath: fix stale ana state for namespaces just added by scan work

Anton Eidelman anton.eidelman at gmail.com
Tue Sep 14 09:45:32 PDT 2021


On Tue, Sep 14, 2021 at 09:32:36AM +0200, Christoph Hellwig wrote:
> On Tue, Sep 14, 2021 at 10:09:43AM +0300, Sagi Grimberg wrote:
> >
> >>> I agree it should not happen with xarray as inserts preserve sorting,
> >>> but that patch has the non-trivial removal of the namespaces_rwsem which
> >>> synchronizes in a lot in a lot of error recovery flows. It's very
> >>> possible that xarray will introduce regressions.
> >>
> >> I've actually started looking over the series earlier today, and staring
> >> it I'm pretty sure the namespaces_rwsem is completely broken.  There
> >> is nothing preventing the namespaces from going away in these loops.
> >
> > Where? the ns itself? the ns is removed from ctrl->namespaces list under
> > this rwsem (nvme_ns_remove).
> 
> Sorry, with the series I meant the xarray conversion that removes the
> rwsem entirely.
> 
> >> But I can't see why we don't just always do a sorted insertation into
> >> the ->namespaces list.  Just trying to figure out the history of the
> >> delayed sort ATM.
> >
> > Don't know the history.
> 
> git-blame teels me it showed up with the initial ID ns list support
> from Keith, so not all that much history here.

The main reason I suggest applying this as a short term fix
is that it is well isolated and is easy to cherry-pick into the LTS/stable versions.



More information about the Linux-nvme mailing list