[PATCH 1/2] erofs-utils: lib: get rid of global sbi in lib/inode.c

Gao Xiang hsiangkao at linux.alibaba.com
Thu Jul 4 13:21:50 AEST 2024



On 2024/7/3 20:12, Hongzhen Luo wrote:
> Get rid of the global sbi when EROFS_MT_ENABLED is defined.
> 
> Signed-off-by: Hongzhen Luo <hongzhen at linux.alibaba.com>
> ---
>   lib/inode.c | 11 ++++++-----
>   1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/lib/inode.c b/lib/inode.c
> index 3e82af7..6001013 100644
> --- a/lib/inode.c
> +++ b/lib/inode.c
> @@ -1800,6 +1800,7 @@ static int erofs_mkfs_build_tree(struct erofs_mkfs_buildtree_ctx *ctx)
>   {
>   	struct erofs_mkfs_dfops *q;
>   	int err, err2;
> +	struct erofs_sb_info *sbi = !!ctx->sbi ? ctx->sbi : ctx->u.root->sbi;

why need !!ctx->sbi here?

	struct erofs_sb_info *sbi = ctx->sbi ? : ctx->u.root->sbi;

Thanks,
Gao Xiang

>   
>   	q = malloc(sizeof(*q));
>   	if (!q)
> @@ -1818,15 +1819,15 @@ static int erofs_mkfs_build_tree(struct erofs_mkfs_buildtree_ctx *ctx)
>   
>   	q->head = 0;
>   	q->tail = 0;
> -	sbi.mkfs_dfops = q;
> -	err = pthread_create(&sbi.dfops_worker, NULL,
> -			     z_erofs_mt_dfops_worker, &sbi);
> +	sbi->mkfs_dfops = q;
> +	err = pthread_create(&sbi->dfops_worker, NULL,
> +			     z_erofs_mt_dfops_worker, sbi);
>   	if (err)
>   		goto fail;
>   
>   	err = __erofs_mkfs_build_tree(ctx);
> -	erofs_mkfs_go(&sbi, ~0, NULL, 0);
> -	err2 = pthread_join(sbi.dfops_worker, NULL);
> +	erofs_mkfs_go(sbi, ~0, NULL, 0);
> +	err2 = pthread_join(sbi->dfops_worker, NULL);
>   	if (!err)
>   		err = err2;
>   


More information about the Linux-erofs mailing list