Re: Unexpected splice "always copy" behavior observed

Linus Torvalds
2010-05-19T14:42:42Z

On Wed, 19 May 2010, Nick Piggin wrote:
>
> We can possibly do an attempt to invalidate existing pagecache and
> then try to install the new page.

Yes, but that's going to be rather hairier. We need to make sure that the
filesystem doesn't have some kind of dirty pointers to the old page etc.
Although I guess that should always show up in the page counters, so I
guess we can always handle the case of page_count() being 1 (only page
cache) and the page being unlocked.

So I'd much rather just handle the "append to the end".

The real limitation is likely always going to be the fact that it has to
be page-aligned and a full page. For a lot of splice inputs, that simply
won't be the case, and you'll end up copying for alignment reasons anyway.

Linus