diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index c9f0bb8f8b21..8a1a38a51089 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -2171,6 +2171,10 @@ static int f2fs_ioc_start_atomic_write(struct file *filp) clear_inode_flag(fi->cow_inode, FI_INLINE_DATA); } else { /* Reuse the already created COW inode */ + f2fs_bug_on(sbi, get_dirty_pages(fi->cow_inode)); + + invalidate_mapping_pages(fi->cow_inode->i_mapping, 0, -1); + ret = f2fs_do_truncate_blocks(fi->cow_inode, 0, true); if (ret) { f2fs_up_write(&fi->i_gc_rwsem[WRITE]);