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);
谁能解释一下这个功能是如何工作的?
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()
当我们需要分配新块时调用。
在这里,这个函数被称为你所说的。
ar.goal = ext4_ext_find_goal(inode, path, map->m_lblk);
在这种情况下,path
不为 NULL。所以,ext4_ext_find_goal()
会找到那个的块号path
,并返回这个块号。