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