]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
f2fs: fix to check inline_data during compressed inode conversion
authorChao Yu <chao@kernel.org>
Tue, 12 Jul 2022 03:17:15 +0000 (11:17 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:42:13 +0000 (14:42 +0200)
[ Upstream commit 7165841d578e0592848e09dc9d131aa30be44e1b ]

When converting inode to compressed one via ioctl, it needs to check
inline_data, since inline_data flag and compressed flag are incompatible.

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

index ce8f496a7e5ddd4b4e007dfeaf3ae13698cafbc9..3f8a3d63a9714b12d951939ce4de1b3aba83eed1 100644 (file)
@@ -4382,7 +4382,7 @@ static inline bool f2fs_lfs_mode(struct f2fs_sb_info *sbi)
 static inline bool f2fs_may_compress(struct inode *inode)
 {
        if (IS_SWAPFILE(inode) || f2fs_is_pinned_file(inode) ||
-                               f2fs_is_atomic_file(inode))
+               f2fs_is_atomic_file(inode) || f2fs_has_inline_data(inode))
                return false;
        return S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode);
 }