aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2022-06-11 10:55:43 -0700
committerJaegeuk Kim <jaegeuk@kernel.org>2022-06-28 09:27:09 -0700
commit7859e97f62202e81129a0d667153b463fad6513e (patch)
treee0a8bbdc14ee2697fd0a9b78b4cdb156afaae822
parentf2fs: use the updated test_dummy_encryption helper functions (diff)
downloadlinux-dev-7859e97f62202e81129a0d667153b463fad6513e.tar.xz
linux-dev-7859e97f62202e81129a0d667153b463fad6513e.zip
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>
-rw-r--r--fs/f2fs/node.c8
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);