【发布时间】:2017-10-23 05:59:42
【问题描述】:
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-kernel ext4 extent
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-kernel ext4 extent
ext4_ext_find_goal()在我们需要分配新块时被调用。
在here中,这个函数按照你说的调用了。
ar.goal = ext4_ext_find_goal(inode, path, map->m_lblk);
在这种情况下,path 不为 NULL。所以,ext4_ext_find_goal() 会找到那个path 的块号,并返回这个块号。
【讨论】: