Messages in this thread Patch in this message | | | From | Bart Van Assche <> | Subject | Re: linux-next: Tree for Aug 1 | Date | Thu, 2 Aug 2018 16:40:10 +0000 |
| |
On Fri, 2018-08-03 at 00:27 +0800, Ming Lei wrote: > This issue can be fixed by reverting d250bf4e776ff09d5 ("blk-mq: only iterate over > inflight requests in blk_mq_tagset_busy_iter"). > > This patch looks wrong, because 'blk_mq_rq_state(rq) == MQ_RQ_IN_FLIGHT' > isn't completely same with 'blk_mq_request_started(req)'.
Please test the following change instead of reverting the commit mentioned above:
diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c index 09b2ee6694fb..25a0583d8b4c 100644 --- a/block/blk-mq-tag.c +++ b/block/blk-mq-tag.c @@ -271,7 +271,7 @@ static bool bt_tags_iter(struct sbitmap *bitmap, unsigned int bitnr, void *data) * test and set the bit before assining ->rqs[]. */ rq = tags->rqs[bitnr]; - if (rq && blk_mq_rq_state(rq) == MQ_RQ_IN_FLIGHT) + if (rq && blk_mq_rq_state(rq) != MQ_RQ_IDLE) iter_data->fn(rq, iter_data->data, reserved); return true; Thanks,
Bart.
| |