f2fs: fix to check compress file in f2fs_move_file_range()
authorChao Yu <chao@kernel.org>
Sun, 10 Dec 2023 11:35:44 +0000 (19:35 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jan 2024 23:35:35 +0000 (15:35 -0800)
[ Upstream commit fb9b65340c818875ea86464faf3c744bdce0055c ]

f2fs_move_file_range() doesn't support migrating compressed cluster
data, let's add the missing check condition and return -EOPNOTSUPP
for the case until we support it.

Fixes: 4c8ff7095bef ("f2fs: support data compression")
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/f2fs/file.c

index a06f03d..e36a320 100644 (file)
@@ -2818,6 +2818,11 @@ static int f2fs_move_file_range(struct file *file_in, loff_t pos_in,
                        goto out;
        }
 
+       if (f2fs_compressed_file(src) || f2fs_compressed_file(dst)) {
+               ret = -EOPNOTSUPP;
+               goto out_unlock;
+       }
+
        ret = -EINVAL;
        if (pos_in + len > src->i_size || pos_in + len < pos_in)
                goto out_unlock;