[PATCH 3/3] f2fs: fix to cover meta flush with cp_lock

From: Chao Yu
Date: Wed May 27 2020 - 06:28:14 EST


meta inode page should be flushed under cp_lock, fix it.

Signed-off-by: Chao Yu <yuchao0@xxxxxxxxxx>
---
fs/f2fs/file.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index f7de2a1da528..0fcae4d90074 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -2260,7 +2260,9 @@ static int f2fs_ioc_shutdown(struct file *filp, unsigned long arg)
set_sbi_flag(sbi, SBI_IS_SHUTDOWN);
break;
case F2FS_GOING_DOWN_METAFLUSH:
+ mutex_lock(&sbi->cp_mutex);
f2fs_sync_meta_pages(sbi, META, LONG_MAX, FS_META_IO);
+ mutex_unlock(&sbi->cp_mutex);
f2fs_stop_checkpoint(sbi, false);
set_sbi_flag(sbi, SBI_IS_SHUTDOWN);
break;
--
2.18.0.rc1