Re: [RFC PATCH 3/3] blk-mq: Remove generation seqeunce

Keith Busch
2018-07-18T21:17:11Z

On Wed, Jul 18, 2018 at 08:58:48PM +0000, Bart Van Assche wrote:
> On Wed, 2018-07-18 at 14:53 -0600, Keith Busch wrote:
> > If scsi needs this behavior, why not just put that behavior in scsi? It
> > can set the state to complete and then everything can play out as
> > before.
> > [ ... ]
>
> There may be other drivers that need the same protection the SCSI core needs
> so I think the patch at the end of your previous e-mail is a step in the wrong
> direction.
>
> Bart.

And there may be other drivers that don't want their completions
ignored, so breaking them again is also a step in the wrong direction.

There are not that many blk-mq drivers, so we can go through them all.

Most don't even implement .timeout, so they never know that condition
ever happened. Others always return BLK_EH_RESET_TIMER without doing
anythign else, so the 'new' behavior would have to be better for those,
too.

The following don't implement .timeout:

loop, rdb, virtio, xen, dm, ubi, scm

The following always return RESET_TIMER:

null, skd

The following is safe to the new way:

mtip

And now ones I am not sure about:

ndb, mmc, dasd

I don't know, reverting looks worse than just fixing the drivers.