On Tue, Feb 25, 2025 at 12:57:43PM -0800, Caleb Sander Mateos wrote: > On Mon, Feb 24, 2025 at 1:31 PM Keith Busch <kbusch@xxxxxxxx> wrote: > > +static int io_init_rw_fixed(struct io_kiocb *req, unsigned int issue_flags, int ddir) > > { > > struct io_rw *rw = io_kiocb_to_cmd(req, struct io_rw); > > - struct io_async_rw *io; > > + struct io_async_rw *io = req->async_data; > > int ret; > > > > - ret = io_prep_rw(req, sqe, ddir, false); > > - if (unlikely(ret)) > > - return ret; > > + if (io->bytes_done) > > + return 0; > > > > - io = req->async_data; > > ret = io_import_reg_buf(req, &io->iter, rw->addr, rw->len, ddir, 0); > > Shouldn't this be passing issue_flags here? Definitely should be doing that, and I have that in my next version already. Was hoping to get that fixed up version out before anyone noticed, but you got me.