Re: [PATCH] blk-mq: don't insert FUA request with data into scheduler queue

Bart Van Assche
2021-11-18T18:22:42Z

On 11/18/21 7:30 AM, Ming Lei wrote:
> We never insert flush request into scheduler queue before.
>
> Recently commit d92ca9d8348f ("blk-mq: don't handle non-flush requests in
> blk_insert_flush") tries to handle FUA data request as normal request.
> This way has caused warning[1] in mq-deadline dd_exit_sched() or io hang in
> case of kyber since RQF_ELVPRIV isn't set for flush request, then
> ->finish_request won't be called.
>
> Fix the issue by inserting FUA data request with blk_mq_request_bypass_insert()
> when the device supports FUA, just like what we did before.
>
> [1] https://lore.kernel.org/linux-block/CAHj4cs-_vkTW=dAzbZYGxpEWSpzpcmaNeY1R=vH311+9vMUSdg@mail.gmail.com/

I had not yet noticed that report. Anyway, thank you for having fixed
this issue.

Reviewed-by: Bart Van Assche <bvanassche@acm.org>