diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 9ef7a5b1b77ecf78bfeeed6feab4bc2652d8f9c5..ecd9c4cdb0db934c900fa8723cff1bbfbe16bef3 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -266,6 +266,7 @@ static noinline int cow_file_range_inline(struct btrfs_trans_handle *trans,
 		return 1;
 	}
 
+	set_bit(BTRFS_INODE_NEEDS_FULL_SYNC, &BTRFS_I(inode)->runtime_flags);
 	btrfs_delalloc_release_metadata(inode, end + 1 - start);
 	btrfs_drop_extent_cache(inode, start, aligned_end - 1, 0);
 	return 0;