Linux kernel 在ext3源代码中,读取发送的间接块的请求在哪里?
我想找到那个地方,并在那个请求中设置一个标志,这样我就可以在块io层中识别这些请求。Linux kernel 在ext3源代码中,读取发送的间接块的请求在哪里?,linux-kernel,ext3,Linux Kernel,Ext3,我想找到那个地方,并在那个请求中设置一个标志,这样我就可以在块io层中识别这些请求。 我更改了bio结构并添加了一个额外的标志,我想为发送到磁盘的所有间接块请求设置此标志。我相信您正在寻找的是 在/fs/ext3/inode.c中调用ext3\u get\u分支。 它读取指向数据的间接块链 读取系统调用的调用跟踪如下所示: /fs/ext3/inode.c ext3\u get\u分支由ext3\u get\u块\u句柄调用 ext3\u get\u block\u句柄由ext3\u get\u
我更改了bio结构并添加了一个额外的标志,我想为发送到磁盘的所有间接块请求设置此标志。我相信您正在寻找的是 在/fs/ext3/inode.c中调用
ext3\u get\u分支
。
它读取指向数据的间接块链
读取系统调用的调用跟踪如下所示:
/fs/ext3/inode.c
ext3\u get\u分支
由ext3\u get\u块\u句柄调用
ext3\u get\u block\u句柄由ext3\u get\u block
ext3\u get\u块
作为函数指针传递,由ext3\u readpage
在/fs/mpage.c中调用
/mm/filemap.c
ext3\u readpage
由mapping->a\u ops->readpage(filp,page)调用代码>在do\u generic\u file\u read中
do_generic_file_read
由generic_file_aio_read
/fs/read\u write.c
generic_file_aio_read
由ret=filp->f_op->aio_read(&kiocb,&iov,1,kiocb.ki_pos);`在
do_sync_read中,其中
filp->f_op->aio_read是/fs/ext3/inode.c中定义的
generic_file_aio_read`的函数指针
do\u sync\u read
映射到generic\u ro\u fops
的结构定义中的read
系统调用