On Fri, Feb 10, 2023 at 2:26 PM Jens Axboe <axboe@xxxxxxxxx> 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