Skip to content

Commit dd9dfcd

Browse files
isilenceaxboe
authored andcommitted
io_uring: fix stalled deferred requests
Always do io_commit_cqring() after completing a request, even if it was accounted as overflowed on the CQ side. Failing to do that may lead to not to pushing deferred requests when needed, and so stalling the whole ring. Signed-off-by: Pavel Begunkov <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
1 parent b2bd1cf commit dd9dfcd

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

fs/io_uring.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7849,6 +7849,7 @@ static void io_uring_cancel_files(struct io_ring_ctx *ctx,
78497849
}
78507850
WRITE_ONCE(ctx->rings->cq_overflow,
78517851
atomic_inc_return(&ctx->cached_cq_overflow));
7852+
io_commit_cqring(ctx);
78527853
spin_unlock_irq(&ctx->completion_lock);
78537854

78547855
/*

0 commit comments

Comments
 (0)