Skip to contentSkip to conversation

Recent changes (master)

PATCH Jens Axboe 1 participant 1 message Nov 11

lore
Share & tools
lore

Jens Axboe

author
#0 lore raw

The following changes since commit bfffdcd1ec9ca694c7ce780975f73e9ef0dbfaa2:

Merge branch 'factor-out-parse-iolog-line' of https://github.com/arethusa/fio (2026-11-05 14:01:15 -0500)

are available in the Git repository at:

git://git.kernel.dk/fio.git master

for you to fetch changes up to 290c2b255c6144b2601a665f0582590fcf735a76:

Merge branch 'fsync_flags' of https://github.com/Panky-codes/fio (2026-11-10 12:56:55 -0500)

----------------------------------------------------------------
Pankaj Raghav (1):
engines/io_uring: clear stale SQE fields for sync requests

Vincent Fu (1):
Merge branch 'fsync_flags' of https://github.com/Panky-codes/fio

 engines/io_uring.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

---

Diff of recent changes:

engines/io_uring.c +11 -1
index a7b67ce7..4421fef3 100644
@@ -1057,7 +1057,17 @@ static int fio_ioring_prep(struct thread_data *td, struct io_u *io_u)
 		sqe->ioprio = td->ioprio;
 		sqe->off = io_u->offset;
 	} else if (ddir_sync(io_u->ddir)) {
+		/*
+		 * SQEs are reused across io_u submissions. The kernel rejects
+		 * fsync/sync_file_range with -EINVAL if addr, buf_index or
+		 * splice_fd_in are set, or if fsync_flags (which aliases
+		 * rw_flags) has bits other than IORING_FSYNC_DATASYNC. Clear
+		 * anything a previous read/write may have left behind.
+		 */
 		sqe->ioprio = 0;
+		sqe->addr = 0;
+		sqe->buf_index = 0;
+		sqe->splice_fd_in = 0;
 		if (io_u->ddir == DDIR_SYNC_FILE_RANGE) {
 			sqe->off = f->first_write;
 			sqe->len = f->last_write - f->first_write;
@@ -1065,8 +1075,8 @@ static int fio_ioring_prep(struct thread_data *td, struct io_u *io_u)
 			sqe->opcode = IORING_OP_SYNC_FILE_RANGE;
 		} else {
 			sqe->off = 0;
-			sqe->addr = 0;
 			sqe->len = 0;
+			sqe->fsync_flags = 0;
 			if (io_u->ddir == DDIR_DATASYNC)
 				sqe->fsync_flags |= IORING_FSYNC_DATASYNC;
 			sqe->opcode = IORING_OP_FSYNC;