函数逻辑报告

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 data to read. Wait for input if we can, otherwise* return an appropriate error.

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

返回类型:int

参数:

类型参数名称
struct pipe_inode_info *pipe
unsigned intflags
1470  如果非pipe_empty - Return true if the pipe is empty*@head: The pipe ring head pointer*@tail: The pipe ring tail pointer则返回:0
1473  ret等于0
1474  pipe_lock(pipe)
1476 pipe_empty - Return true if the pipe is empty*@head: The pipe ring head pointer*@tail: The pipe ring tail pointer循环
1477  如果signal_pending(当前进程)则
1479  退出
1481  如果非writers退出
1484  ret等于负EAGAIN
1485  退出
1487  Drop the inode semaphore and wait for a pipe event, atomically
1490  pipe_unlock(pipe)
1491  返回: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.