Re: [PATCH v6 01/34] vfs: Unconditionally set IOCB_WRITE in call_write_iter()

From: David Howells
Date: Thu Jan 19 2023 - 06:36:50 EST


Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:

> We want to be consistent for sync vs async submission. So I think yes,
> we want to do the get_current_ioprio for most of them, exceptions
> beeing aio and io_uring - those could use a __init_iocb or
> init_iocb_ioprio variant that passs in the explicit priority if we want
> to avoid the call if it would be overriden later.

io_uring is a bit problematic in this regard. io_prep_rw() starts the
initialisation of the kiocb, so io_read() and io_write() can't just
reinitialise it. OTOH, I'm not sure io_prep_rw() has sufficient information
to hand.

I wonder if I should add a flag to struct io_op_def to indicate that this is
going to be a write operation and maybe add a REQ_F_WRITE flag that gets set
by that.

David