splice_from_pipe_feed — feed available data from a pipe to a file
int splice_from_pipe_feed ( | struct pipe_inode_info * pipe, |
struct splice_desc * sd, | |
splice_actor * actor) ; |
This function loops over the pipe and calls actor
to do the
actual moving of a single struct pipe_buffer to the desired
destination. It returns when there's no more buffers left in
the pipe or if the requested number of bytes (sd
->total_len)
have been copied. It returns a positive number (one) if the
pipe needs to be filled with more data, zero if the required
number of bytes have been copied and -errno on error.
This, together with splice_from_pipe_{begin,end,next}, may be
used to implement the functionality of __splice_from_pipe
when
locking is required around copying the pipe buffers to the
destination.