函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Make sure there's writeable room. Wait for room if we can, otherwise* return an appropriate error.

函数原型:static int opipe_prep(struct pipe_inode_info *pipe, unsigned int flags)

返回类型:int

参数:

类型参数名称
struct pipe_inode_info *pipe
unsigned intflags
1506  如果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.则返回:0
1509  ret等于0
1510  pipe_lock(pipe)
1512 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.循环
1513  如果非readers
1515  ret等于负EPIPE
1516  退出
1519  ret等于负EAGAIN
1520  退出
1522  如果signal_pending(当前进程)则
1524  退出
1526  Drop the inode semaphore and wait for a pipe event, atomically
1529  pipe_unlock(pipe)
1530  返回:ret
调用者
名称描述
splice_pipe_to_pipe
do_teeThis is a tee(1) implementation that works on pipes. It doesn't copy* any data, it simply references the 'in' pages on the 'out' pipe.* The 'flags' used are the SPLICE_F_* variants, currently the only* applicable one is SPLICE_F_NONBLOCK.