Re: [PATCH v4] splice: only read in as much information as there is pipe buffer space

Andreas Grünbacher
2019-11-22T01:26:04Z

Am Fr., 22. Nov. 2019 um 02:24 Uhr schrieb Darrick J. Wong
<darrick.wong@oracle.com>:
> On Thu, Nov 21, 2019 at 06:57:55PM +0100, Andreas Gruenbacher wrote:
> > On Sat, Oct 19, 2019 at 6:14 PM Darrick J. Wong <darrick.wong@oracle.com> wrote:
> > > From: Darrick J. Wong <darrick.wong@oracle.com>
> > >
> > > Andreas Grünbacher reports that on the two filesystems that support
> > > iomap directio, it's possible for splice() to return -EAGAIN (instead of
> > > a short splice) if the pipe being written to has less space available in
> > > its pipe buffers than the length supplied by the calling process.
> > >
> > > Months ago we fixed splice_direct_to_actor to clamp the length of the
> > > read request to the size of the splice pipe. Do the same to do_splice.
> > >
> > > Fixes: 17614445576b6 ("splice: don't read more than available pipe space")
> > > Reported-by: Andreas Grünbacher <andreas.gruenbacher@gmail.com>
> >
> > Reviewed-by: Andreas Grünbacher <andreas.gruenbacher@gmail.com>
>
> Cool, thanks. I'll try to push this to Linus next week.

That would be great, thanks.

Andreas