Re: [PATCH v14 02/17] splice: Add a func to do a splice from a buffered file without ITER_PIPE

David Howells
2023-02-18T09:26:15Z

Ming Lei <ming.lei@redhat.com> wrote:

> > + /* Work out how much data we can actually add into the pipe */
> > + used = pipe_occupancy(pipe->head, pipe->tail);
> > + npages = max_t(ssize_t, pipe->max_usage - used, 0);
> > + len = min_t(size_t, len, npages * PAGE_SIZE);
>
> Do we need to consider offset in 1st page here?

Well, it won't break since we check further on that we don't overrun the ring,
but it's probably a bit more efficient to subtract the offset into the page at
this point.

That said, we don't know how big the first folio is yet, though I'm not sure
if that matters.

David