Re: Splicing to/from a tty

From: Al Viro
Date: Mon Jan 18 2021 - 14:56:25 EST


On Mon, Jan 18, 2021 at 11:46:42AM -0800, Linus Torvalds wrote:
> On Mon, Jan 18, 2021 at 11:35 AM Al Viro <viro@zeniv-ca> wrote:
> >
> > I'd rather have sendfile(2) do what splice(2) does and handle pipes
> > directly. Let me take a look,,,
>
> It's not technically just the sendfile() thing. Some things do
> sendfile "internally" (ie they use do_splice_direct()).
>
> Although maybe they always happen just on non-pipe destinations (ie
> file-to-file copy). I didn't check.
>
> But particularly if it can be handled in do_splice_direct(), that
> would be a good thing.

FWIW, it might make sense to merge do_splice_direct() and do_splice();
interfaces are very similar and do_splice() is basically
if both are pipes
....
else if input is pipe
....
else if output is pipe
....
else
return -EINVAL
with do_splice_direct() being fairly close to the missing case.