io-uring.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHSET 0/2] io_uring: handle short reads internally
@ 2020-08-13 17:56 Jens Axboe
  2020-08-13 17:56 ` [PATCH 1/2] io_uring: retain iov_iter state over io_read/io_write calls Jens Axboe
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: Jens Axboe @ 2020-08-13 17:56 UTC (permalink / raw)
  To: io-uring; +Cc: david, jmoyer

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.

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 18+ messages in thread
* [PATCHSET v2 0/2] io_uring: handle short reads internally
@ 2020-08-14 19:54 Jens Axboe
  2020-08-14 19:54 ` [PATCH 1/2] io_uring: retain iov_iter state over io_read/io_write calls Jens Axboe
  0 siblings, 1 reply; 18+ messages in thread
From: Jens Axboe @ 2020-08-14 19:54 UTC (permalink / raw)
  To: io-uring; +Cc: david, jmoyer

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



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2020-08-18 18:10 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-13 17:56 [PATCHSET 0/2] io_uring: handle short reads internally Jens Axboe
2020-08-13 17:56 ` [PATCH 1/2] io_uring: retain iov_iter state over io_read/io_write calls Jens Axboe
2020-08-13 17:56 ` [PATCH 2/2] io_uring: internally retry short reads Jens Axboe
2020-08-13 20:25 ` [PATCHSET 0/2] io_uring: handle short reads internally Jeff Moyer
2020-08-13 20:33   ` Jens Axboe
2020-08-13 20:37     ` Jens Axboe
2020-08-13 20:41       ` Jens Axboe
2020-08-13 20:49         ` Jeff Moyer
2020-08-13 22:08           ` Jens Axboe
2020-08-13 22:21             ` Jeff Moyer
2020-08-13 22:31               ` Jens Axboe
2020-08-17 20:55                 ` Jeff Moyer
2020-08-17 20:57                   ` Jens Axboe
2020-08-18 17:55                     ` Jeff Moyer
2020-08-18 18:00                       ` Jens Axboe
2020-08-18 18:07                         ` Jeff Moyer
2020-08-18 18:10                           ` Jens Axboe
2020-08-14 19:54 [PATCHSET v2 " Jens Axboe
2020-08-14 19:54 ` [PATCH 1/2] io_uring: retain iov_iter state over io_read/io_write calls Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).