Re: [PATCH net-next v5 04/14] splice, net: Add a splice_eof op to file-ops and socket-ops

From: Jakub Kicinski
Date: Wed Jun 07 2023 - 12:56:51 EST


On Wed, 7 Jun 2023 15:05:49 +0100 David Howells wrote:
> Add an optional method, ->splice_eof(), to allow splice to indicate the
> premature termination of a splice to struct file_operations and struct
> proto_ops.
>
> This is called if sendfile() or splice() encounters all of the following
> conditions inside splice_direct_to_actor():
>
> (1) the user did not set SPLICE_F_MORE (splice only), and
>
> (2) an EOF condition occurred (->splice_read() returned 0), and
>
> (3) we haven't read enough to fulfill the request (ie. len > 0 still), and
>
> (4) we have already spliced at least one byte.
>
> A further patch will modify the behaviour of SPLICE_F_MORE to always be
> passed to the actor if either the user set it or we haven't yet read
> sufficient data to fulfill the request.

Reviewed-by: Jakub Kicinski <kuba@xxxxxxxxxx>