• P
    io_uring: don't forget to adjust io_size · 7335e3bf
    Pavel Begunkov 提交于
    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: NPavel Begunkov <asml.silence@gmail.com>
    Signed-off-by: NJens Axboe <axboe@kernel.dk>
    7335e3bf
io_uring.c 246.1 KB