Re: [PATCH] blk-mq: don't complete un-started request in timeout handler

2017-03-23 Thread Ming Lei
On Wed, Mar 22, 2017 at 11:58:17AM -0400, Keith Busch wrote: > On Tue, Mar 21, 2017 at 11:03:59PM -0400, Jens Axboe wrote: > > On 03/21/2017 10:14 PM, Ming Lei wrote: > > > When iterating busy requests in timeout handler, > > > if the STARTED flag of one request isn't set, that means > > > the

Re: [PATCH] blk-mq: don't complete un-started request in timeout handler

2017-03-23 Thread Ming Lei
On Wed, Mar 22, 2017 at 11:58:17AM -0400, Keith Busch wrote: > On Tue, Mar 21, 2017 at 11:03:59PM -0400, Jens Axboe wrote: > > On 03/21/2017 10:14 PM, Ming Lei wrote: > > > When iterating busy requests in timeout handler, > > > if the STARTED flag of one request isn't set, that means > > > the

Re: [PATCH] blk-mq: don't complete un-started request in timeout handler

2017-03-22 Thread Jens Axboe
On 03/22/2017 11:58 AM, Keith Busch wrote: > On Tue, Mar 21, 2017 at 11:03:59PM -0400, Jens Axboe wrote: >> On 03/21/2017 10:14 PM, Ming Lei wrote: >>> When iterating busy requests in timeout handler, >>> if the STARTED flag of one request isn't set, that means >>> the request is being processed

Re: [PATCH] blk-mq: don't complete un-started request in timeout handler

2017-03-22 Thread Jens Axboe
On 03/22/2017 11:58 AM, Keith Busch wrote: > On Tue, Mar 21, 2017 at 11:03:59PM -0400, Jens Axboe wrote: >> On 03/21/2017 10:14 PM, Ming Lei wrote: >>> When iterating busy requests in timeout handler, >>> if the STARTED flag of one request isn't set, that means >>> the request is being processed

Re: [PATCH] blk-mq: don't complete un-started request in timeout handler

2017-03-22 Thread Keith Busch
On Tue, Mar 21, 2017 at 11:03:59PM -0400, Jens Axboe wrote: > On 03/21/2017 10:14 PM, Ming Lei wrote: > > When iterating busy requests in timeout handler, > > if the STARTED flag of one request isn't set, that means > > the request is being processed in block layer or driver, and > > isn't

Re: [PATCH] blk-mq: don't complete un-started request in timeout handler

2017-03-22 Thread Keith Busch
On Tue, Mar 21, 2017 at 11:03:59PM -0400, Jens Axboe wrote: > On 03/21/2017 10:14 PM, Ming Lei wrote: > > When iterating busy requests in timeout handler, > > if the STARTED flag of one request isn't set, that means > > the request is being processed in block layer or driver, and > > isn't

Re: [PATCH] blk-mq: don't complete un-started request in timeout handler

2017-03-21 Thread Jens Axboe
On 03/21/2017 10:14 PM, Ming Lei wrote: > When iterating busy requests in timeout handler, > if the STARTED flag of one request isn't set, that means > the request is being processed in block layer or driver, and > isn't submitted to hardware yet. > > In current implementation of

Re: [PATCH] blk-mq: don't complete un-started request in timeout handler

2017-03-21 Thread Jens Axboe
On 03/21/2017 10:14 PM, Ming Lei wrote: > When iterating busy requests in timeout handler, > if the STARTED flag of one request isn't set, that means > the request is being processed in block layer or driver, and > isn't submitted to hardware yet. > > In current implementation of

[PATCH] blk-mq: don't complete un-started request in timeout handler

2017-03-21 Thread Ming Lei
When iterating busy requests in timeout handler, if the STARTED flag of one request isn't set, that means the request is being processed in block layer or driver, and isn't submitted to hardware yet. In current implementation of blk_mq_check_expired(), if the request queue becomes dying,

[PATCH] blk-mq: don't complete un-started request in timeout handler

2017-03-21 Thread Ming Lei
When iterating busy requests in timeout handler, if the STARTED flag of one request isn't set, that means the request is being processed in block layer or driver, and isn't submitted to hardware yet. In current implementation of blk_mq_check_expired(), if the request queue becomes dying,