From: Satoru Takeuchi Date: Sun, 5 May 2019 23:56:36 +0000 (+0900) Subject: io_uring: fix possible infinite loop X-Git-Tag: fio-3.14~10^2 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=f7cbbbf8f8dc3f8e6869f8baee9ba2ecb229f45c io_uring: fix possible infinite loop When reaping some completed I/O before io_uring_enter(), it waits forever. Signed-off-by: Satoru Takeuchi --- diff --git a/engines/io_uring.c b/engines/io_uring.c index 5b3509a9..a5e77d8f 100644 --- a/engines/io_uring.c +++ b/engines/io_uring.c @@ -233,6 +233,8 @@ static int fio_ioring_getevents(struct thread_data *td, unsigned int min, r = fio_ioring_cqring_reap(td, events, max); if (r) { events += r; + if (actual_min != 0) + actual_min -= r; continue; }