From: Fengnan Chang Date: Fri, 26 Nov 2021 10:19:19 +0000 (+0800) Subject: f2fs: fix remove page failed in invalidate compress pages X-Git-Tag: v6.1-rc5~2175^2~20 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d1917865a7906baf6b687e15e8e6195a295a3992;p=platform%2Fkernel%2Flinux-starfive.git f2fs: fix remove page failed in invalidate compress pages Since compress inode not a regular file, generic_error_remove_page in f2fs_invalidate_compress_pages will always be failed, set compress inode as a regular file to fix it. Fixes: 6ce19aff0b8c ("f2fs: compress: add compress_inode to cache compressed blocks") Signed-off-by: Fengnan Chang Reviewed-by: Chao Yu Signed-off-by: Jaegeuk Kim --- diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c index 6998eb1..935016e 100644 --- a/fs/f2fs/inode.c +++ b/fs/f2fs/inode.c @@ -516,6 +516,11 @@ make_now: } else if (ino == F2FS_COMPRESS_INO(sbi)) { #ifdef CONFIG_F2FS_FS_COMPRESSION inode->i_mapping->a_ops = &f2fs_compress_aops; + /* + * generic_error_remove_page only truncates pages of regular + * inode + */ + inode->i_mode |= S_IFREG; #endif mapping_set_gfp_mask(inode->i_mapping, GFP_NOFS | __GFP_HIGHMEM | __GFP_MOVABLE);