函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\splice.c Create Date:2022-07-29 10:42:09
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称: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

函数原型:static int splice_from_pipe_feed(struct pipe_inode_info *pipe, struct splice_desc *sd, splice_actor *actor)

返回类型:int

参数:

类型参数名称
struct pipe_inode_info *pipe
struct splice_desc *sd
splice_actor *actor
493  head等于head
494  tail等于tail
495  mask等于ring_size减1
498  当非pipe_empty - Return true if the pipe is empty*@head: The pipe ring head pointer*@tail: The pipe ring tail pointer循环
499  buf等于bufs[tail & mask]
501  current length 等于len
502  如果current length 大于maining length 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  如果ret恒等于负ENODATAret等于0
509  返回:ret
512  ret等于actor(pipe, buf, sd)
513  如果ret小于等于0则返回: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  如果非len
526  tail自加
527  tail等于tail
528  如果filesd to wake up writer = true
532  如果非maining length 则返回:0
536  返回:1
调用者
名称描述
__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