diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2021-02-04 13:52:02 +0000 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-02-04 08:05:46 -0700 |
commit | 7335e3bf9d0a92be09bb4f38d06ab22c40f0fead (patch) | |
tree | a0f8ea4b3110ad63f38aed94f8560ed7644ebf28 /fs/overlayfs | |
parent | 6bf985dc50dd882a95fffa9c7eef0d1416f512e6 (diff) | |
download | linux-7335e3bf9d0a92be09bb4f38d06ab22c40f0fead.tar.bz2 |
io_uring: don't forget to adjust io_size
We have invariant in io_read() of how much we're trying to read spilled
into an iter and io_size variable. The last one controls decision making
about whether to do read-retries. However, io_size is modified only
after the first read attempt, so if we happen to go for a third retry in
a single call to io_read(), we will get io_size greater than in the
iterator, so may lead to various side effects up to live-locking.
Modify io_size each time.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'fs/overlayfs')
0 files changed, 0 insertions, 0 deletions