Re: [PATCH v20 09/32] tty, proc, kernfs, random: Use direct_splice_read()

From: Linus Torvalds
Date: Fri May 19 2023 - 12:23:01 EST


On Fri, May 19, 2023 at 1:12 AM Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
>
> Pinging Al (and maybe Linus): is there any good reason to not simply
> default to direct_splice_read if ->read_iter is implemented and
> ->splice_read is not once you remove ITER_PIPE?

For me, the reason isn't so much technical as "historical pain".

We've had *so* many problems with splice on random file descriptors
that I at some point decided "no splice by default".

Now, admittedly most of the problems were due to the whole set_fs()
ambiguity, which you fixed and no longer exists. So maybe we could go
back to "implement splice by default".

I agree that as long as the default implementation is obviously safe,
it should be ok, and maybe direct_splice_read is that obvious..

Linus