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

Reply via email to