io_uring: fix stalled deferred requests
authorPavel Begunkov <asml.silence@gmail.com>
Thu, 30 Jul 2020 15:43:48 +0000 (18:43 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Aug 2020 06:23:42 +0000 (08:23 +0200)
commit6d0f399b3ab78abf2718b194760504845ae36467
tree764e18526c46fb255d5da79547b308152cbddb8a
parente79ec069c60e192d7bc30680b0052ec8c01ccb22
io_uring: fix stalled deferred requests

[ Upstream commit dd9dfcdf5a603680458f5e7b0d2273c66e5417db ]

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 <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/io_uring.c