On 1/16/23 9:04?AM, Christoph Hellwig wrote: > On Mon, Jan 16, 2023 at 04:01:50PM +0000, David Howells wrote: >> Hi Jens, Christoph, >> >> Do you know if there's a reason why REQ_OP_READ has to be 0? I'm seeing a >> circumstance where a direct I/O write on a blockdev is BUG'ing in my modified >> iov_iter code because the iterator says it's a source iterator (correct), but >> the bio->bi_opf == REQ_OP_READ (which should be wrong). >> >> I thought I'd move REQ_OP_READ to, say, 4 so that I could try and see if it's >> just undefined but the kernel BUGs and then panics during boot. > > There's all kind of assumptions of that from basically day 1 of > Linux. The most obvious one is in op_is_write, but I'm pretty sure > there are more hidden somewhere. I didn't get this original email... I would not change this frivilously, as Christoph says we've used 0/1 for basic read/write data direction since basically forever. So for all intents and purposes, yes that is basically hardwired. -- Jens Axboe