函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:This 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.

函数原型:static long do_tee(struct file *in, struct file *out, size_t len, unsigned int flags)

返回类型:long

参数:

类型参数名称
struct file *in
struct file *out
size_tlen
unsigned intflags
1769  ipipe等于After the inode slimming patch, i_pipe/i_bdev/i_cdev share the same* location, so checking ->i_pipe is not enough to verify that this is a* pipe.
1770  opipe等于After the inode slimming patch, i_pipe/i_bdev/i_cdev share the same* location, so checking ->i_pipe is not enough to verify that this is a* pipe.
1771  ret等于负EINVAL
1777  如果ipipeopipeipipe不等于opipe
1778  如果f_flags按位或f_flags的值按位与O_NONBLOCKflags或等于don't block on the pipe splicing (but
1785  ret等于Make sure there's data to read. Wait for input if we can, otherwise* return an appropriate error.
1786  如果非ret
1788  如果非retret等于Link contents of ipipe to opipe.
1793  返回:ret
调用者
名称描述
SYSCALL_DEFINE4