Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\splice.c Create Date:2022-07-28 20:11:29
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

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

Proto:static int opipe_prep(struct pipe_inode_info *pipe, unsigned int flags)

Type:int

Parameter:

TypeParameterName
struct pipe_inode_info *pipe
unsigned intflags
1506  If 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. Then Return 0
1509  ret = 0
1510  pipe_lock(pipe)
1512  When 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. cycle
1513  If Not readers Then
1515  ret = -EPIPE
1516  Break
1519  ret = -EAGAIN
1520  Break
1524  Break
1526  Drop the inode semaphore and wait for a pipe event, atomically
1529  pipe_unlock(pipe)
1530  Return ret
Caller
NameDescribe
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.