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

Christoph Hellwig hch at lst.de
Tue Sep 14 00:32:36 PDT 2021


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.



More information about the Linux-nvme mailing list