On 8/13/20 2:49 PM, Jeff Moyer wrote: > Jens Axboe <axboe@xxxxxxxxx> writes: > >> On 8/13/20 2:37 PM, Jens Axboe wrote: >>> On 8/13/20 2:33 PM, Jens Axboe wrote: >>>> On 8/13/20 2:25 PM, Jeff Moyer wrote: >>>>> Jens Axboe <axboe@xxxxxxxxx> writes: >>>>> >>>>>> 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. >>>>> >>>>> Have you run this through the liburing regression tests? >>>>> >>>>> Tests <eeed8b54e0df-test> <timeout-overflow> <read-write> failed >>>>> >>>>> I'll take a look at the failures, but wanted to bring it to your >>>>> attention sooner rather than later. I was using your io_uring-5.9 >>>>> branch. >>>> >>>> The eed8b54e0df-test failure is known with this one, pretty sure it >>>> was always racy, but I'm looking into it. >>>> >>>> The timeout-overflow test needs fixing, it's just an ordering thing >>>> with the batched completions done through submit. Not new with these >>>> patches. > > OK. > >>>> The read-write one I'm interested in, what did you run it on? And >>>> what was the failure? >>> >>> BTW, what git sha did you run? >> >> I do see a failure with dm on that, I'll take a look. > > I ran it on a file system atop nvme with 8 poll queues. > > liburing head: 9e1d69e078ee51f253a829ff421b17cfc996d158 > linux-block head: ff1353802d86a9d8e40ef1377efb12a1d3000a20 Fixed it, and actually enabled a further cleanup. > The error I saw was: > > Running test read-write: > Non-vectored IO not supported, skipping > cqe res -22, wanted 2048 > test_buf_select_short vec failed > Test read-write failed with ret 1 > > But I don't think it was due to these two commits. Yeah don't think so either. -- Jens Axboe