[External] [PATCH 1/4] erofs: remove unused device mapping in meta routine

Jia Zhu zhujia.zj at bytedance.com
Wed Feb 8 18:21:18 AEDT 2023



在 2023/2/8 15:16, Jingbo Xu 写道:
> Currently metadata is always on bootstrap, and thus device mapping is
> not needed so far.  Remove the redundant device mapping in the meta
> routine.
> 
> Signed-off-by: Jingbo Xu <jefflexu at linux.alibaba.com>

Reviewed-by: Jia Zhu <zhujia.zj at bytedance.com>

> ---
>   fs/erofs/fscache.c | 17 ++++-------------
>   1 file changed, 4 insertions(+), 13 deletions(-)
> 
> diff --git a/fs/erofs/fscache.c b/fs/erofs/fscache.c
> index 014e20962376..03de4dc99302 100644
> --- a/fs/erofs/fscache.c
> +++ b/fs/erofs/fscache.c
> @@ -164,18 +164,8 @@ static int erofs_fscache_read_folios_async(struct fscache_cookie *cookie,
>   static int erofs_fscache_meta_read_folio(struct file *data, struct folio *folio)
>   {
>   	int ret;
> -	struct super_block *sb = folio_mapping(folio)->host->i_sb;
> +	struct erofs_fscache *ctx = folio_mapping(folio)->host->i_private;
>   	struct erofs_fscache_request *req;
> -	struct erofs_map_dev mdev = {
> -		.m_deviceid = 0,
> -		.m_pa = folio_pos(folio),
> -	};
> -
> -	ret = erofs_map_dev(sb, &mdev);
> -	if (ret) {
> -		folio_unlock(folio);
> -		return ret;
> -	}
>   
>   	req = erofs_fscache_req_alloc(folio_mapping(folio),
>   				folio_pos(folio), folio_size(folio));
> @@ -184,8 +174,8 @@ static int erofs_fscache_meta_read_folio(struct file *data, struct folio *folio)
>   		return PTR_ERR(req);
>   	}
>   
> -	ret = erofs_fscache_read_folios_async(mdev.m_fscache->cookie,
> -				req, mdev.m_pa, folio_size(folio));
> +	ret = erofs_fscache_read_folios_async(ctx->cookie, req,
> +				folio_pos(folio), folio_size(folio));
>   	if (ret)
>   		req->error = ret;
>   
> @@ -469,6 +459,7 @@ struct erofs_fscache *erofs_fscache_acquire_cookie(struct super_block *sb,
>   		inode->i_size = OFFSET_MAX;
>   		inode->i_mapping->a_ops = &erofs_fscache_meta_aops;
>   		mapping_set_gfp_mask(inode->i_mapping, GFP_NOFS);
> +		inode->i_private = ctx;
>   
>   		ctx->inode = inode;
>   	}


More information about the Linux-erofs mailing list