On 2020/7/17 1:15, bugzilla-dae...@bugzilla.kernel.org wrote:
https://bugzilla.kernel.org/show_bug.cgi?id=208565
Jaegeuk Kim (jaeg...@kernel.org) changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jaeg...@kernel.org
--- Comment #1 from Jaegeuk Kim (jaeg...@kernel.org) ---
Thank you for the report.
I think this is valid point that we need to fix.
I'm testing a RFC patch like this. Thanks.
Shouldn't we revert 34c061ad85a2 ("f2fs: Avoid double lock for cp_rwsem during
checkpoint")
at the same time?
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -1926,8 +1926,12 @@ int f2fs_sync_node_pages(struct f2fs_sb_info *sbi,
goto continue_unlock;
}
- /* flush inline_data, if it's async context. */
- if (do_balance && is_inline_node(page)) {
+ /* flush inline_data/inode, if it's async context. */
+ if (!do_balance)
+ goto write_node;
+
+ /* flush inline_data */
+ if (is_inline_node(page)) {
clear_inline_node(page);
unlock_page(page);
flush_inline_data(sbi, ino_of_node(page));
@@ -1940,7 +1944,7 @@ int f2fs_sync_node_pages(struct f2fs_sb_info *sbi,
if (flush_dirty_inode(page))
goto lock_node;
}
-
+write_node:
f2fs_wait_on_page_writeback(page, NODE, true, true);
if (!clear_page_dirty_for_io(page))
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel