Re: [PATCH V2 1/2] blk-mq: introduce blk_mq_complete_request_sync()

2019-03-27 Thread Ming Lei
On Wed, Mar 27, 2019 at 07:32:45AM -0600, Keith Busch wrote: > On Wed, Mar 27, 2019 at 04:51:13PM +0800, Ming Lei wrote: > > @@ -594,8 +594,11 @@ static void __blk_mq_complete_request(struct request > > *rq) > > /* > > * For a polled request, always complete locallly, it's pointless > >

Re: [PATCH V2 1/2] blk-mq: introduce blk_mq_complete_request_sync()

2019-03-27 Thread Keith Busch
On Wed, Mar 27, 2019 at 04:51:13PM +0800, Ming Lei wrote: > @@ -594,8 +594,11 @@ static void __blk_mq_complete_request(struct request *rq) > /* >* For a polled request, always complete locallly, it's pointless >* to redirect the completion. > + * > + * If driver requ

[PATCH V2 1/2] blk-mq: introduce blk_mq_complete_request_sync()

2019-03-27 Thread Ming Lei
In NVMe's error handler, follows the typical steps of tearing down hardware for recovering controller: 1) stop blk_mq hw queues 2) stop the real hw queues 3) cancel in-flight requests via blk_mq_tagset_busy_iter(tags, cancel_request, ...) cancel_request(): mark the request as abort