[PATCH] nvme: retrigger ANA log update if group descriptor isn't found

Christoph Hellwig hch at lst.de
Wed Dec 9 02:35:45 EST 2020


On Wed, Dec 09, 2020 at 04:17:03AM +0900, Keith Busch wrote:
> On Tue, Dec 08, 2020 at 03:03:52PM +0100, Christoph Hellwig wrote:
> > On Mon, Dec 07, 2020 at 07:46:50AM -0800, Keith Busch wrote:
> > > > But as I just outlined it just papers over buggy controllers.  I really
> > > > don't think we should just silently do that.
> > > 
> > > Okay, that's fine with me too. I agree with you on what the correct
> > > event sequence should be, but I just thought this looks like a fairly
> > > harmless work-around.
> > 
> > I see three major downsides:
> 
> You only listed two. :)

Yeah.

> 
> >  (1) it papers over our host side bug where we do not process the
> >      different AENs in the order that the controller generated them
> 
> We only have one AEN outstanding at a time, though, so we can't process
> them in a different order than the controller sent them, right?

In a more theoretical than practical race the next AEN could have
completed befoe the workqueue that executes the previous one has run.

> >  (2) the code is black magic as there is no indicator why this condition
> >      would happen
> 
> Would it help if Hannes adds a dev_warn() that this log refresh is
> occuring from a controller's inconsistent reporting?

I really want to settle the discussion first as Fred has an extremely
strange interpretation of the spec.



More information about the Linux-nvme mailing list