函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:do_splice_direct - splices data directly between two files*@in: file to splice from*@ppos: input file offset*@out: file to splice to*@opos: output file offset*@len: number of bytes to splice*@flags: splice modifier flags* Description:

函数原型:long do_splice_direct(struct file *in, loff_t *ppos, struct file *out, loff_t *opos, size_t len, unsigned int flags)

返回类型:long

参数:

类型参数名称
struct file *in
loff_t *ppos
struct file *out
loff_t *opos
size_tlen
unsigned intflags
1060  struct splice_desc sd = {current length = len, maining length = len, splice flags = flags, le position = * ppos, le to read/write = out, sendfile: output position = opos, }
1070  如果此条件成立可能性小(为编译器优化)(!(f_mode & le is open for writing ))则返回:负EBADF
1073  如果此条件成立可能性小(为编译器优化)(f_flags & O_APPEND)则返回:负EINVAL
1076  ret等于rw_verify_area(WRITE, out, opos, len)
1077  如果此条件成立可能性小(为编译器优化)(ret < 0)则返回:ret
1080  ret等于splice_direct_to_actor - splices data directly between two non-pipes*@in: file to splice from*@sd: actor information on where to splice to*@actor: handles the data splicing* Description:* This is a special case helper to splice directly between two
1081  如果ret大于0则ppos等于le position
1084  返回:ret
调用者
名称描述
generic_copy_file_rangegeneric_copy_file_range - copy data between two files*@file_in: file structure to read from*@pos_in: file offset to read from*@file_out: file structure to write data to*@pos_out: file offset to write data to*@len: amount of data to copy*@flags: copy flags
do_sendfile