Skip to content
  • Jens Axboe's avatar
    io_uring: internally retry short reads · 227c0c96
    Jens Axboe authored
    
    
    We've had a few application cases of not handling short reads properly,
    and it is understandable as short reads aren't really expected if the
    application isn't doing non-blocking IO.
    
    Now that we retain the iov_iter over retries, we can implement internal
    retry pretty trivially. This ensures that we don't return a short read,
    even for buffered reads on page cache conflicts.
    
    Cleanup the deep nesting and hard to read nature of io_read() as well,
    it's much more straight forward now to read and understand. Added a
    few comments explaining the logic as well.
    
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    227c0c96