Messages in this thread | | | From | Linus Torvalds <> | Date | Fri, 10 Feb 2023 14:35:11 -0800 | Subject | Re: copy on write for splice() from file to pipe? |
| |
On Fri, Feb 10, 2023 at 2:26 PM Jens Axboe <axboe@kernel.dk> wrote: > > > > (I actually suspect that /dev/zero no longer works as a splice source, > > since we disabled the whole "fall back to regular IO" that Christoph > > did in 36e2c7421f02 "fs: don't allow splice read/write without > > explicit ops"). > > Yet another one... Since it has a read_iter, should be fixable with just > adding the generic splice_read.
I actually very consciously did *not* want to add cases of generic_splice_read() "just because we can".
I've been on a "let's minimize the reach of splice" thing for a while. I really loved Christoph's patches, even if I may not have been hugely vocal about it. His getting rid of set/get_fs() got rid of a *lot* of splice pain.
And rather than try to make everything work with splice that used to work just because it fell back on read/write, I was waiting for actual regression reports.
Even when splice fails, a lot of user space then falls back on read/write, and unless there is some really fundamental reason not to, I think that's always the right thing to do.
So we do have a number of "add splice_write/splice_read" commits, but they are hopefully all the result of people actually noticing breakage.
You can do
git log --grep=36e2c7421f02
to see at least some of them, and I really don't want to see them without a "Reported-by" and an actual issue.
Exactly because I'm not all that enamoured with splice any more.
Linus
| |