提交 eca76e78 编写于 作者: J Jaegeuk Kim

f2fs: avoid needless lock for node pages when fsyncing a file

When fsync is called, sync_node_pages finds a proper direct node pages to flush.
But, it locks unrelated direct node pages together unnecessarily.
Acked-by: NChao Yu <yuchao0@huawei.com>
Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
上级 c27753d6
......@@ -1272,10 +1272,14 @@ int sync_node_pages(struct f2fs_sb_info *sbi, nid_t ino,
* we should not skip writing node pages.
*/
lock_node:
if (ino && ino_of_node(page) == ino)
lock_page(page);
else if (!trylock_page(page))
if (ino) {
if (ino_of_node(page) == ino)
lock_page(page);
else
continue;
} else if (!trylock_page(page)) {
continue;
}
if (unlikely(page->mapping != NODE_MAPPING(sbi))) {
continue_unlock:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册