[PATCH] erofs: do not build pcpubuf.c for uncompressed data

Gao Xiang hsiangkao at linux.alibaba.com
Thu Apr 27 13:14:28 AEST 2023



On 2023/4/27 11:03, Yue Hu wrote:
> From: Yue Hu <huyue2 at coolpad.com>
> 
> The function of pcpubuf.c is just for low-latency decompression
> algorithms (e.g. lz4).
> 
> Signed-off-by: Yue Hu <huyue2 at coolpad.com>


Subject: erofs: avoid pcpubuf.c inclusion if CONFIG_EROFS_FS_ZIP is off

Otherwise it looks good to me,
Reviewed-by: Gao Xiang <hsiangkao at linux.alibaba.com>

Thanks,
Gao Xiang


> ---
>   fs/erofs/Makefile   |  4 ++--
>   fs/erofs/internal.h | 12 +++++++-----
>   2 files changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/fs/erofs/Makefile b/fs/erofs/Makefile
> index 99bbc597a3e9..a3a98fc3e481 100644
> --- a/fs/erofs/Makefile
> +++ b/fs/erofs/Makefile
> @@ -1,8 +1,8 @@
>   # SPDX-License-Identifier: GPL-2.0-only
>   
>   obj-$(CONFIG_EROFS_FS) += erofs.o
> -erofs-objs := super.o inode.o data.o namei.o dir.o utils.o pcpubuf.o sysfs.o
> +erofs-objs := super.o inode.o data.o namei.o dir.o utils.o sysfs.o
>   erofs-$(CONFIG_EROFS_FS_XATTR) += xattr.o
> -erofs-$(CONFIG_EROFS_FS_ZIP) += decompressor.o zmap.o zdata.o
> +erofs-$(CONFIG_EROFS_FS_ZIP) += decompressor.o zmap.o zdata.o pcpubuf.o
>   erofs-$(CONFIG_EROFS_FS_ZIP_LZMA) += decompressor_lzma.o
>   erofs-$(CONFIG_EROFS_FS_ONDEMAND) += fscache.o
> diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h
> index af0431a40647..65dbfa76f854 100644
> --- a/fs/erofs/internal.h
> +++ b/fs/erofs/internal.h
> @@ -472,11 +472,6 @@ static inline void *erofs_vm_map_ram(struct page **pages, unsigned int count)
>   	return NULL;
>   }
>   
> -void *erofs_get_pcpubuf(unsigned int requiredpages);
> -void erofs_put_pcpubuf(void *ptr);
> -int erofs_pcpubuf_growsize(unsigned int nrpages);
> -void __init erofs_pcpubuf_init(void);
> -void erofs_pcpubuf_exit(void);
>   
>   int erofs_register_sysfs(struct super_block *sb);
>   void erofs_unregister_sysfs(struct super_block *sb);
> @@ -512,6 +507,11 @@ int z_erofs_load_lz4_config(struct super_block *sb,
>   			    struct z_erofs_lz4_cfgs *lz4, int len);
>   int z_erofs_map_blocks_iter(struct inode *inode, struct erofs_map_blocks *map,
>   			    int flags);
> +void *erofs_get_pcpubuf(unsigned int requiredpages);
> +void erofs_put_pcpubuf(void *ptr);
> +int erofs_pcpubuf_growsize(unsigned int nrpages);
> +void __init erofs_pcpubuf_init(void);
> +void erofs_pcpubuf_exit(void);
>   #else
>   static inline void erofs_shrinker_register(struct super_block *sb) {}
>   static inline void erofs_shrinker_unregister(struct super_block *sb) {}
> @@ -529,6 +529,8 @@ static inline int z_erofs_load_lz4_config(struct super_block *sb,
>   	}
>   	return 0;
>   }
> +static inline void erofs_pcpubuf_init(void) {}
> +static inline void erofs_pcpubuf_exit(void) {}
>   #endif	/* !CONFIG_EROFS_FS_ZIP */
>   
>   #ifdef CONFIG_EROFS_FS_ZIP_LZMA


More information about the Linux-erofs mailing list