Hi, Since we've had a few cases of applications not dealing with this appopriately, I believe the safest course of action is to ensure that we don't return short reads when we really don't have to. The first patch is just a prep patch that retains iov_iter state over retries, while the second one actually enables just doing retries if we get a short read back. This passes all my testing, both liburing regression tests but also tests that explicitly trigger internal short reads and hence retry based on current state. No short reads are passed back to the application. Changes since v1: - Fixed an issue with fixed/registered buffers - Rewrite io_read() code flow to be a lot more readable - Add comments -- Jens Axboe