diff options
author | Jaegeuk Kim <jaegeuk@kernel.org> | 2022-06-11 10:55:43 -0700 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2022-06-28 09:27:09 -0700 |
commit | 7859e97f62202e81129a0d667153b463fad6513e (patch) | |
tree | e0a8bbdc14ee2697fd0a9b78b4cdb156afaae822 /fs/f2fs/node.c | |
parent | c5bca38d2edc8a8030a8f1b99115480046c5bd7d (diff) |
f2fs: do not skip updating inode when retrying to flush node page
Let's try to flush dirty inode again to improve subtle i_blocks mismatch.
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/node.c')
-rw-r--r-- | fs/f2fs/node.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index cf6f7fc83c08..095a634436e3 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -1945,7 +1945,6 @@ next_step: for (i = 0; i < nr_pages; i++) { struct page *page = pvec.pages[i]; bool submitted = false; - bool may_dirty = true; /* give a priority to WB_SYNC threads */ if (atomic_read(&sbi->wb_sync_req[NODE]) && @@ -1998,11 +1997,8 @@ continue_unlock: } /* flush dirty inode */ - if (IS_INODE(page) && may_dirty) { - may_dirty = false; - if (flush_dirty_inode(page)) - goto lock_node; - } + if (IS_INODE(page) && flush_dirty_inode(page)) + goto lock_node; write_node: f2fs_wait_on_page_writeback(page, NODE, true, true); |