函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:wait_for_space

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

返回类型:int

参数:

类型参数名称
struct pipe_inode_info *pipe
unsignedflags
1090  循环
1093  返回:负EPIPE
1095  如果非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
1097  如果flags按位与don't block on the pipe splicing (but 则返回:负EAGAIN
1099  如果signal_pending(当前进程)则返回:负These should never be seen by user programs. To return one of ERESTART** codes, signal_pending() MUST be set. Note that ptrace can observe these* at syscall exit tracing, but they will never be left for the debugged user* process to see.
1101  Drop the inode semaphore and wait for a pipe event, atomically
调用者
名称描述
do_spliceDetermine where to splice to/from.
vmsplice_to_pipevmsplice splices a user address range into a pipe. It can be thought of* as splice-from-memory, where the regular splice is splice-from-file (or* to file). In both cases the output is a pipe, naturally.