函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:splice_to_pipe - fill passed data into a pipe*@pipe: pipe to fill*@spd: data to fill* Description:*@spd contains a map of pages and len/offset tuples, along with* the struct pipe_buf_operations associated with these pages. This

函数原型:ssize_t splice_to_pipe(struct pipe_inode_info *pipe, struct splice_pipe_desc *spd)

返回类型:ssize_t

参数:

类型参数名称
struct pipe_inode_info *pipe
struct splice_pipe_desc *spd
187  spd_pages等于umber of populated pages in map
188  tail等于tail
189  head等于head
190  mask等于ring_size减1
191  ret等于0, page_nr等于0
193  如果非spd_pages则返回:0
196  如果此条件成立可能性小(为编译器优化)(!readers)则
197  send_sig(SIGPIPE, 当前进程, 0)
198  ret等于负EPIPE
199  转到:out
202  当非pipe_full - Return true if the pipe is full*@head: The pipe ring head pointer*@tail: The pipe ring tail pointer*@limit: The maximum amount of slots available.循环
203  buf等于bufs[head & mask]
205  page等于page map [page_nr]
206  offset等于offset
207  len等于len
208  private等于private
209  ops等于ps associated with output pipe
210  flags等于0
212  head自加
213  head等于head
214  page_nr自加
215  ret加等于len
217  如果非umber of populated pages in map 先自减则退出
221  如果非retret等于负EAGAIN
224  out :
225 page_nr小于spd_pages循环
226  spd_release(spd, page_nr++)
228  返回:ret
调用者
名称描述
tracing_splice_read_pipe
tracing_buffers_splice_read
subbuf_splice_actorsubbuf_splice_actor - splice up to one subbuf's worth of data