summaryrefslogtreecommitdiffstats
path: root/fs/aio.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2019-10-25 10:06:15 -0600
committerJens Axboe <axboe@kernel.dk>2019-10-25 10:58:53 -0600
commit2b2ed9750fc9d040b9f6d076afcef6f00b6f1f7c (patch)
treee7688dd8e1ca4f2b2beabda1b9cc9d824724aa76 /fs/aio.c
parent498ccd9eda49117c34e0041563d0da6ac40e52b8 (diff)
downloadlinux-2b2ed9750fc9d040b9f6d076afcef6f00b6f1f7c.tar.bz2
io_uring: fix bad inflight accounting for SETUP_IOPOLL|SETUP_SQTHREAD
We currently assume that submissions from the sqthread are successful, and if IO polling is enabled, we use that value for knowing how many completions to look for. But if we overflowed the CQ ring or some requests simply got errored and already completed, they won't be available for polling. For the case of IO polling and SQTHREAD usage, look at the pending poll list. If it ever hits empty then we know that we don't have anymore pollable requests inflight. For that case, simply reset the inflight count to zero. Reported-by: Pavel Begunkov <asml.silence@gmail.com> Reviewed-by: Pavel Begunkov <asml.silence@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'fs/aio.c')
0 files changed, 0 insertions, 0 deletions