On Sat, Feb 15, 2020 at 11:21:40AM +0800, Ming Lei wrote: > For some reason, device may be in one situation which can't handle > FS request, so STS_RESOURCE is always returned and the FS request > will be added to hctx->dispatch. However passthrough request may > be required at that time for fixing the problem. If passthrough > request is added to scheduler queue, there isn't any chance for > blk-mq to dispatch it given we prioritize requests in hctx->dispatch. > Then the FS IO request may never be completed, and IO hang is caused. > > So passthrough request has to be added to hctx->dispatch directly. > > Fix this issue by inserting passthrough request into hctx->dispatch > directly. Then it becomes consistent with original legacy IO request > path, in which passthrough request is always added to q->queue_head. Do you have a description of an actual problem this fixes? Maybe even a reproducer for blktests?