diff options
| author | Jens Axboe <axboe@kernel.dk> | 2025-05-16 21:31:19 +0300 | 
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2025-05-16 21:31:19 +0300 | 
| commit | 3de7361f7cd9c7b79acba5a3c72588ee1d83f031 (patch) | |
| tree | 4bec6d1271fa15c10e26144278f83a5140d1ffb7 /io_uring/uring_cmd.c | |
| parent | 2b61bb1d9aa601ec393054a61be0a707a5bea928 (diff) | |
| parent | d871198ee431d90f5308d53998c1ba1d5db5619a (diff) | |
| download | linux-3de7361f7cd9c7b79acba5a3c72588ee1d83f031.tar.xz | |
Merge branch 'io_uring-6.15' into for-6.16/io_uring
Merge in 6.15 io_uring fixes, mostly so that the fdinfo changes can
get easily extended without causing merge conflicts.
* io_uring-6.15:
  io_uring/fdinfo: grab ctx->uring_lock around io_uring_show_fdinfo()
  io_uring/memmap: don't use page_address() on a highmem page
  io_uring/uring_cmd: fix hybrid polling initialization issue
  io_uring/sqpoll: Increase task_work submission batch size
  io_uring: ensure deferred completions are flushed for multishot
  io_uring: always arm linked timeouts prior to issue
  io_uring/fdinfo: annotate racy sq/cq head/tail reads
  io_uring: fix 'sync' handling of io_fallback_tw()
  io_uring: don't duplicate flushing in io_req_post_cqe
Diffstat (limited to 'io_uring/uring_cmd.c')
| -rw-r--r-- | io_uring/uring_cmd.c | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/io_uring/uring_cmd.c b/io_uring/uring_cmd.c index 34b450c78e2b..8a6b0ddef796 100644 --- a/io_uring/uring_cmd.c +++ b/io_uring/uring_cmd.c @@ -251,6 +251,11 @@ int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags)  			return -EOPNOTSUPP;  		issue_flags |= IO_URING_F_IOPOLL;  		req->iopoll_completed = 0; +		if (ctx->flags & IORING_SETUP_HYBRID_IOPOLL) { +			/* make sure every req only blocks once */ +			req->flags &= ~REQ_F_IOPOLL_STATE; +			req->iopoll_start = ktime_get_ns(); +		}  	}  	ret = file->f_op->uring_cmd(ioucmd, issue_flags);  | 
