[PATCH 2/2] nvme: don't freeze/unfreeze queues from different contexts

Sagi Grimberg sagi at grimberg.me
Tue Jun 13 13:34:05 PDT 2023


>> And this way is correct because quiesce is enough for driver to handle
>> error recovery. The only difference is where to wait during error recovery.
>> With this way, IO is just queued in block layer queue instead of
>> __bio_queue_enter(), finally waiting for completion is done in upper
>> layer. Either way, IO can't move on during error recovery.
> 
> The point was to contain the fallout from modifying the hctx mappings.
> If you allow IO to queue in the blk-mq layer while a reset is in
> progress, they may be entering a context that won't be as expected on
> the other side of the reset.

That still happens to *some* commands though right?



More information about the Linux-nvme mailing list