C Linux内核编写

C Linux内核编写,c,linux-kernel,kernel,file-copying,ext4,C,Linux Kernel,Kernel,File Copying,Ext4,在linux中复制文件和在linux中写入文件在内核中调用函数方面有什么不同 他们中有没有人在fs/ext4/file.c中调用ext4\u file\u write\u iter(),因为ext4\u file\u operations为写操作指定了它?我真的不明白你的问题。您可以添加一些详细信息吗?对于第二个问题,您可以在树中搜索该函数名,并查看调用该函数的所有地方(或查看宏对其的解析)。Userspace不会调用内核文件系统特定的函数来写入文件。用户空间程序和库使用相同的系统调用来写入文件

在linux中复制文件和在linux中写入文件在内核中调用函数方面有什么不同


他们中有没有人在
fs/ext4/file.c
中调用
ext4\u file\u write\u iter()
,因为
ext4\u file\u operations
为写操作指定了它?

我真的不明白你的问题。您可以添加一些详细信息吗?对于第二个问题,您可以在树中搜索该函数名,并查看调用该函数的所有地方(或查看宏对其的解析)。Userspace不会调用内核文件系统特定的函数来写入文件。用户空间程序和库使用相同的系统调用来写入文件--
write()
pwrite()
writev()
等。相应的内核函数(为系统调用提供服务)检查指定文件描述符引用的文件描述,并选择要调用的文件系统特定函数(使用与文件描述符关联的
struct file
中的通用
struct file_操作
)。复制文件写入文件的方式与写入文件写入文件的方式相同,除非复制程序使用的是reflink。@skrrgwsme是的,我使用了cscope,但问题是我想了解写入路径中实际发生的情况,如实际的块分配及其参数,所以我使用了printk语句,但我没有一旦我使用cp命令,我就可以在syslog中看到这些。