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_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

Proto:static int splice_from_pipe_feed(struct pipe_inode_info *pipe, struct splice_desc *sd, splice_actor *actor)

Type:int

Parameter:

TypeParameterName
struct pipe_inode_info *pipe
struct splice_desc *sd
splice_actor *actor
493  head = head
494  tail = tail
495  mask = ring_size - 1
498  When Not pipe_empty - Return true if the pipe is empty*@head: The pipe ring head pointer*@tail: The pipe ring tail pointer cycle
499  buf = bufs[tail & mask]
501  current length = len
502  If current length > maining length Then current length = maining length
505  ret = pipe_buf_confirm - verify contents of the pipe buffer*@pipe: the pipe that the buffer belongs to*@buf: the buffer to confirm
507  If ret == -ENODATA Then ret = 0
509  Return ret
512  ret = actor(pipe, buf, sd)
513  If ret <= 0 Then Return ret
516  offset += ret
517  len -= ret
519  umber of bytes already spliced += ret
520  current length -= ret
521  le position += ret
522  maining length -= ret
524  If Not len Then
526  tail++
527  tail = tail
528  If files Then d to wake up writer = true
532  If Not maining length Then Return 0
536  Return 1
Caller
NameDescribe
__splice_from_pipe__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