On Fri, May 19, 2023 at 08:40:24AM +0100, David Howells wrote: > .fasync = random_fasync, > .llseek = noop_llseek, > - .splice_read = generic_file_splice_read, > + .splice_read = direct_splice_read, 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? As long as we assure direct_splice_read is simply a ->read_iter into newly allocated pages I can't think of anything that would go wrong there.