OSDN Git Service

nvme: move the dying queue check from cancel to completion
authorChristoph Hellwig <hch@lst.de>
Thu, 2 Nov 2017 18:28:51 +0000 (21:28 +0300)
committerJens Axboe <axboe@kernel.dk>
Sat, 11 Nov 2017 02:53:25 +0000 (19:53 -0700)
commite54b064cb24c8268252336ccdd6523e08c0dcbde
tree22e833eebb40a033d6b69588ac20256144cb6b73
parenta6da0024ffc19e0d47712bb5ca4fd083f76b07df
nvme: move the dying queue check from cancel to completion

With multipath we don't want a hard DNR bit on a request that is cancelled
by a controller reset, but instead want to be able to retry it on another
patch.  To archive this don't always set the DNR bit when the queue is
dying in nvme_cancel_request, but defer that decision to
nvme_req_needs_retry.  Note that it applies to any command there and not
just cancelled commands, but one the queue is dying that is the right
thing to do anyway.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Keith Busch <keith.busch@intel.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/nvme/host/core.c