Skip to content
  • Keith Busch's avatar
    nvme/pci: No special case for queue busy on IO · 9ef3932e
    Keith Busch authored
    
    
    This driver previously required we have a special check for IO submitted
    to nvme IO queues that are temporarily suspended. That is no longer
    necessary since blk-mq provides a quiesce, so any IO that actually gets
    submitted to such a queue must be ended since the queue isn't going to
    start back up.
    
    This is fixing a condition where we have fewer IO queues after a
    controller reset. This may happen if the number of CPU's has changed,
    or controller firmware update changed the queue count, for example.
    
    While it may be possible to complete the IO on a different queue, the
    block layer does not provide a way to resubmit a request on a different
    hardware context once the request has entered the queue. We don't want
    these requests to be stuck indefinitely either, so ending them in error
    is our only option at the moment.
    
    Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
    Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarSagi Grimberg <sagi@grimberg.me>
    Signed-off-by: default avatarJens Axboe <axboe@fb.com>
    9ef3932e