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

Message ID 20230407141710.113882-4-jefflexu@linux.alibaba.com
State New
Headers
Series erofs: introduce long xattr name prefixes feature |

Commit Message

Jingbo Xu April 7, 2023, 2:17 p.m. UTC
  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@linux.alibaba.com>
---
 fs/erofs/internal.h | 2 +-
 fs/erofs/super.c    | 4 +---
 2 files changed, 2 insertions(+), 4 deletions(-)
  

Comments

Gao Xiang April 9, 2023, 10:53 a.m. UTC | #1
On 2023/4/7 22:17, Jingbo Xu 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@linux.alibaba.com>

Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com>

Thanks,
Gao Xiang
  
Yue Hu April 10, 2023, 2:45 a.m. UTC | #2
On Fri,  7 Apr 2023 22:17:06 +0800
Jingbo Xu <jefflexu@linux.alibaba.com> 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@linux.alibaba.com>

Reviewed-by: Yue Hu <huyue2@coolpad.com>

> ---
>  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);
  

Patch

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);