diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c index 546027605d804b5c2d334005dc0ac7e2ab4ec3af..eb85cc0e48c0cb2ed4047af4672d899b1ff40256 100644 --- a/fs/f2fs/inode.c +++ b/fs/f2fs/inode.c @@ -545,8 +545,13 @@ static int do_read_inode(struct inode *inode) static bool is_meta_ino(struct f2fs_sb_info *sbi, unsigned int ino) { - return ino == F2FS_NODE_INO(sbi) || ino == F2FS_META_INO(sbi) || - ino == F2FS_COMPRESS_INO(sbi); + if (ino == F2FS_NODE_INO(sbi) || ino == F2FS_META_INO(sbi)) + return true; +#ifdef CONFIG_F2FS_FS_COMPRESSION + if (test_opt(sbi, COMPRESS_CACHE) && ino == F2FS_COMPRESS_INO(sbi)) + return true; +#endif + return false; } struct inode *f2fs_iget(struct super_block *sb, unsigned long ino)