diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 2c03606ee5e4..9d8f5e27e919 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -2749,6 +2749,8 @@ do_map: goto clear_out; } + f2fs_wait_on_page_writeback(page, DATA, true, true); + set_page_dirty(page); set_page_private_gcing(page); f2fs_put_page(page, 1); @@ -4143,6 +4145,8 @@ static int redirty_blocks(struct inode *inode, pgoff_t page_idx, int len) /* It will never fail, when page has pinned above */ f2fs_bug_on(F2FS_I_SB(inode), !page); + f2fs_wait_on_page_writeback(page, DATA, true, true); + set_page_dirty(page); set_page_private_gcing(page); f2fs_put_page(page, 1);