在 ext4 文件系统中寻找目标
Finding goal in ext4 file system
linux 内核 4.7.2 中的文件 extents.c (fs/ext4/extents.c) 处理文件分配方法。
ar.goal是通过函数ext4_ext_find_goal
计算出来的
ar.goal = ext4_ext_find_goal(inode, path, map->m_lblk);
谁能解释一下这个函数是如何工作的?
ext4_ext_find_goal()
当我们需要分配新块时被调用。
在here中,这个函数是按照你说的调用的。
ar.goal = ext4_ext_find_goal(inode, path, map->m_lblk);
在此上下文中,path
不是 NULL。因此,ext4_ext_find_goal()
将找到那个 path
的块号,并且 return 这个块号。
linux 内核 4.7.2 中的文件 extents.c (fs/ext4/extents.c) 处理文件分配方法。
ar.goal是通过函数ext4_ext_find_goal
计算出来的ar.goal = ext4_ext_find_goal(inode, path, map->m_lblk);
谁能解释一下这个函数是如何工作的?
ext4_ext_find_goal()
当我们需要分配新块时被调用。
在here中,这个函数是按照你说的调用的。
ar.goal = ext4_ext_find_goal(inode, path, map->m_lblk);
在此上下文中,path
不是 NULL。因此,ext4_ext_find_goal()
将找到那个 path
的块号,并且 return 这个块号。