Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\splice.c Create Date:2022-07-28 20:11:25
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:__splice_from_pipe - splice data from a pipe to given actor*@pipe: pipe to splice from*@sd: information to @actor*@actor: handler that splices the data* Description:* This function does little more than loop over the pipe and call*@actor to do the actual

Proto:ssize_t __splice_from_pipe(struct pipe_inode_info *pipe, struct splice_desc *sd, splice_actor *actor)

Type:ssize_t

Parameter:

TypeParameterName
struct pipe_inode_info *pipe
struct splice_desc *sd
splice_actor *actor
631  splice_from_pipe_begin - start splicing from pipe*@sd: information about the splice operation* Description:* This function should be called before a loop containing* splice_from_pipe_next() and splice_from_pipe_feed() to
632  Do
633  cond_resched()
634  ret = splice_from_pipe_next - wait for some data to splice from*@pipe: pipe to splice from*@sd: information about the splice operation* Description:* This function will wait for some data and return a positive* value (one) if pipe buffers are available
635  If ret > 0 Then ret = splice_from_pipe_feed - feed available data from a pipe to a file*@pipe: pipe to splice from*@sd: information to @actor*@actor: handler that splices the data* Description:* This function loops over the pipe and calls @actor to do the* actual moving of a
637  When ret > 0 cycle
638  splice_from_pipe_end - finish splicing from pipe*@pipe: pipe to splice from*@sd: information about the splice operation* Description:* This function will wake up pipe writers if necessary
640  Return If umber of bytes already spliced Then umber of bytes already spliced Else ret
Caller
NameDescribe
splice_from_pipesplice_from_pipe - splice data from a pipe to a file*@pipe: pipe to splice from*@out: file to splice to*@ppos: position in @out*@len: how many bytes to splice*@flags: splice modifier flags*@actor: handler that splices the data* Description:
vmsplice_to_userFor lack of a better implementation, implement vmsplice() to userspace* as a simple copy of the pipes pages to the user iov.