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

Christoph Hellwig
2021-11-19T06:09:07Z

On Thu, Nov 18, 2021 at 11:30:41PM +0800, 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.

How we did end up with REQ_ELV set for this request?