On 11/2/22 00:09, Christoph Hellwig wrote: > On Mon, Oct 31, 2022 at 11:26:36AM +0900, Damien Le Moal wrote: >> + /* >> + * REQ_FUA does not apply to read requests because: >> + * - There is no way to reliably force media access for read operations >> + * with a block device that does not support FUA. >> + * - Not all block devices support FUA for read operations (e.g. ATA >> + * devices with NCQ support turned off). >> + */ >> + if (!op_is_write(rq->cmd_flags) && (rq->cmd_flags & REQ_FUA)) { >> + blk_mq_end_request(rq, BLK_STS_NOTSUPP); > > How could this even happen? If we want a debug check, I think it > should be in submit_bio and a WARN_ON_ONCE. I have not found any code that issues a FUA read. So I do not think this can happen at all currently. The check is about making sure that it *never* happens. I thought of having the check higher up in the submit path but I wanted to avoid adding yet another check in the very hot path. But if you are OK with that, I will move it. -- Damien Le Moal Western Digital Research