aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2020-05-13 21:12:53 -0700
committerJaegeuk Kim <jaegeuk@google.com>2020-05-19 11:00:02 -0700
commitdead1f52f936cc27b91c23a78092765f004bf85e (patch)
tree33ce2af4bd1d37d9de12fd13d60298eeb3306ccf
parent1fff4ff5675dff689ef8c213f7e97086281004b4 (diff)
downloadf2fs-stable-linux-4.9.y.tar.gz
f2fs: flush dirty meta pages when flushing themlinux-4.9.y
Let's guarantee flusing dirty meta pages to avoid infinite loop. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r--fs/f2fs/checkpoint.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
index 6dbb9dd04ef181..0713aafaa7b5a3 100644
--- a/fs/f2fs/checkpoint.c
+++ b/fs/f2fs/checkpoint.c
@@ -1264,6 +1264,9 @@ void f2fs_wait_on_all_pages(struct f2fs_sb_info *sbi, int type)
if (unlikely(f2fs_cp_error(sbi)))
break;
+ if (type == F2FS_DIRTY_META)
+ f2fs_sync_meta_pages(sbi, META, LONG_MAX,
+ FS_CP_META_IO);
io_schedule_timeout(HZ/50);
}
finish_wait(&sbi->cp_wait, &wait);