On 2020/2/3 11:39, Matthew Wilcox wrote: > > Remove the horrendous ifdeffery by slipping an IS_ENABLED into > f2fs_compressed_file(). I'd like to suggest to use if (IS_ENABLED(CONFIG_F2FS_FS_COMPRESSION) && f2fs_compressed_file(inode)) here to clean up f2fs_readpages' codes. Otherwise, f2fs module w/o compression support will not recognize compressed file in most other cases if we add IS_ENABLED() condition into f2fs_compressed_file(). Thanks, > > Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> > --- > v2: Fix compilation by adding more dummy functions > > fs/f2fs/data.c | 6 ------ > fs/f2fs/f2fs.h | 10 +++++++++- > 2 files changed, 9 insertions(+), 7 deletions(-) > > diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c > index 8bd9afa81c54..41156a8f60a7 100644 > --- a/fs/f2fs/data.c > +++ b/fs/f2fs/data.c > @@ -2203,7 +2203,6 @@ int f2fs_mpage_readpages(struct address_space *mapping, > goto next_page; > } > > -#ifdef CONFIG_F2FS_FS_COMPRESSION > if (f2fs_compressed_file(inode)) { > /* there are remained comressed pages, submit them */ > if (!f2fs_cluster_can_merge_page(&cc, page->index)) { > @@ -2230,14 +2229,11 @@ int f2fs_mpage_readpages(struct address_space *mapping, > goto next_page; > } > read_single_page: > -#endif > > ret = f2fs_read_single_page(inode, page, max_nr_pages, &map, > &bio, &last_block_in_bio, is_readahead); > if (ret) { > -#ifdef CONFIG_F2FS_FS_COMPRESSION > set_error_page: > -#endif > SetPageError(page); > zero_user_segment(page, 0, PAGE_SIZE); > unlock_page(page); > @@ -2246,7 +2242,6 @@ int f2fs_mpage_readpages(struct address_space *mapping, > if (pages) > put_page(page); > > -#ifdef CONFIG_F2FS_FS_COMPRESSION > if (f2fs_compressed_file(inode)) { > /* last page */ > if (nr_pages == 1 && !f2fs_cluster_is_empty(&cc)) { > @@ -2257,7 +2252,6 @@ int f2fs_mpage_readpages(struct address_space *mapping, > f2fs_destroy_compress_ctx(&cc); > } > } > -#endif > } > BUG_ON(pages && !list_empty(pages)); > if (bio) > diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h > index 5355be6b6755..e90d2b3f1d2d 100644 > --- a/fs/f2fs/f2fs.h > +++ b/fs/f2fs/f2fs.h > @@ -2706,7 +2706,8 @@ static inline int f2fs_has_inline_xattr(struct inode *inode) > > static inline int f2fs_compressed_file(struct inode *inode) > { > - return S_ISREG(inode->i_mode) && > + return IS_ENABLED(CONFIG_F2FS_FS_COMPRESSION) && > + S_ISREG(inode->i_mode) && > is_inode_flag_set(inode, FI_COMPRESSED_FILE); > } > > @@ -3797,6 +3798,13 @@ static inline struct page *f2fs_compress_control_page(struct page *page) > WARN_ON_ONCE(1); > return ERR_PTR(-EINVAL); > } > +#define f2fs_cluster_can_merge_page(cc, index) false > +#define f2fs_read_multi_pages(cc, bio, nr_pages, last, is_ra) 0 > +#define f2fs_init_compress_ctx(cc) 0 > +#define f2fs_destroy_compress_ctx(cc) (void)0 > +#define f2fs_cluster_is_empty(cc) true > +#define f2fs_compress_ctx_add_page(cc, page) (void)0 > +#define f2fs_is_compressed_cluster(cc, index) false > #endif > > static inline void set_compress_context(struct inode *inode) >