On 11/3/22 1:49 AM, Christoph Hellwig wrote: > On Wed, Nov 02, 2022 at 09:17:54AM -0600, Jens Axboe wrote: >> >> This looks fine, but if we're never expecting this to happen, I do think >> it should just go into libata instead as that's the only user that >> cares about it. Yes, that'll lose the backtrace for who submitted it >> potentially, but you can debug it pretty easily at that point if you >> run into it. > > FUA and PREFLUSH are bits only defined for writes. libata might be the > first thing blowing up, but it really is a block layer constraint. > So validity checking what is being sent to the block layer at the > highest possible lyer is a good thing to ensure we don't get us in > trouble by someone accidentally sending one down or even expecting it > to work. Especially as at least SCSI actually defines semantics for FUA > on reads, but they are completely bogus and useless. OK, fair enough. I guess we can stick it in the block layer. -- Jens Axboe