io_uring: always initialize sqe->flags
authorNiklas Cassel <niklas.cassel@wdc.com>
Thu, 26 Aug 2021 16:45:04 +0000 (16:45 +0000)
committerJens Axboe <axboe@kernel.dk>
Thu, 26 Aug 2021 16:50:02 +0000 (10:50 -0600)
Commit 7c70f506e438 ("engines/io_uring: move sqe clear out of hot path")
removed the memset of sqe from fio_ioring_prep().

Later, force_async was added in commit 5a59a81d2923 ("engines/io_uring:
allow setting of IOSQE_ASYNC").

The force_async commit sets sqe->flags every N requests, however,
since we no longer do a memset, this commit should have made sure that
flags is always initialized, such that we don't have sqe->flags set on
reused sqes where we didn't intend to.

Fixes: 5a59a81d2923 ("engines/io_uring: allow setting of IOSQE_ASYNC")
Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
engines/io_uring.c

index 9c091e37e60b2cc1bd9a63ae37228ac51fc2003a..269e501f5dd0007c9566ee71bf0bf27b66e80359 100644 (file)
@@ -234,6 +234,7 @@ static int fio_ioring_prep(struct thread_data *td, struct io_u *io_u)
                sqe->flags = IOSQE_FIXED_FILE;
        } else {
                sqe->fd = f->fd;
+               sqe->flags = 0;
        }
 
        if (io_u->ddir == DDIR_READ || io_u->ddir == DDIR_WRITE) {