Re: [PATCH 3/7] erofs: move packed inode out of the compression part

From: Yue Hu
Date: Sun Apr 09 2023 - 22:38:35 EST


On Fri, 7 Apr 2023 22:17:06 +0800
Jingbo Xu <jefflexu@xxxxxxxxxxxxxxxxx> wrote:

> packed inode could be used in more scenarios which are independent of
> compression in the future.
>
> For example, packed inode could be used to keep extra long xattr
> prefixes with the help of following patches.
>
> Signed-off-by: Jingbo Xu <jefflexu@xxxxxxxxxxxxxxxxx>

Reviewed-by: Yue Hu <huyue2@xxxxxxxxxxx>

> ---
> fs/erofs/internal.h | 2 +-
> fs/erofs/super.c | 4 +---
> 2 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h
> index caea9dc1cd82..8b5168f94dd2 100644
> --- a/fs/erofs/internal.h
> +++ b/fs/erofs/internal.h
> @@ -134,8 +134,8 @@ struct erofs_sb_info {
> struct inode *managed_cache;
>
> struct erofs_sb_lz4_info lz4;
> - struct inode *packed_inode;
> #endif /* CONFIG_EROFS_FS_ZIP */
> + struct inode *packed_inode;
> struct erofs_dev_context *devs;
> struct dax_device *dax_dev;
> u64 dax_part_off;
> diff --git a/fs/erofs/super.c b/fs/erofs/super.c
> index 325602820dc8..8f2f8433db61 100644
> --- a/fs/erofs/super.c
> +++ b/fs/erofs/super.c
> @@ -810,7 +810,6 @@ static int erofs_fc_fill_super(struct super_block *sb, struct fs_context *fc)
>
> erofs_shrinker_register(sb);
> /* sb->s_umount is already locked, SB_ACTIVE and SB_BORN are not set */
> -#ifdef CONFIG_EROFS_FS_ZIP
> if (erofs_sb_has_fragments(sbi) && sbi->packed_nid) {
> sbi->packed_inode = erofs_iget(sb, sbi->packed_nid);
> if (IS_ERR(sbi->packed_inode)) {
> @@ -819,7 +818,6 @@ static int erofs_fc_fill_super(struct super_block *sb, struct fs_context *fc)
> return err;
> }
> }
> -#endif
> err = erofs_init_managed_cache(sb);
> if (err)
> return err;
> @@ -986,9 +984,9 @@ static void erofs_put_super(struct super_block *sb)
> #ifdef CONFIG_EROFS_FS_ZIP
> iput(sbi->managed_cache);
> sbi->managed_cache = NULL;
> +#endif
> iput(sbi->packed_inode);
> sbi->packed_inode = NULL;
> -#endif
> erofs_free_dev_context(sbi->devs);
> sbi->devs = NULL;
> erofs_fscache_unregister_fs(sb);