Fixes: 4f7aa6b8fb7f ("erofs-utils: lib: introduce API helpers to prepare mkfs 
context")
Signed-off-by: Gao Xiang <hsiang...@linux.alibaba.com>
---
 lib/importer.c | 10 ++++------
 lib/metabox.c  |  4 +++-
 mkfs/main.c    |  1 +
 3 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/lib/importer.c b/lib/importer.c
index 9c57c07..bb29bd0 100644
--- a/lib/importer.c
+++ b/lib/importer.c
@@ -55,12 +55,10 @@ int erofs_importer_init(struct erofs_importer *im)
                        goto out_err;
        }
 
-       if (cfg.c_mkfs_pclustersize_metabox >= 0) {
-               subsys = "metabox";
-               err = erofs_metabox_init(sbi);
-               if (err)
-                       goto out_err;
-       }
+       subsys = "metabox";
+       err = erofs_metabox_init(sbi);
+       if (err)
+               goto out_err;
 
        if (cfg.c_fragments) {
                subsys = "dedupe_ext";
diff --git a/lib/metabox.c b/lib/metabox.c
index abde5e6..bf188f6 100644
--- a/lib/metabox.c
+++ b/lib/metabox.c
@@ -30,6 +30,9 @@ int erofs_metabox_init(struct erofs_sb_info *sbi)
        struct erofs_metaboxmgr *m2gr;
        int ret;
 
+       if (!erofs_sb_has_metabox(sbi))
+               return 0;
+
        m2gr = malloc(sizeof(*m2gr));
        if (!m2gr)
                return -ENOMEM;
@@ -41,7 +44,6 @@ int erofs_metabox_init(struct erofs_sb_info *sbi)
        m2gr->vf = (struct erofs_vfile){ .fd = ret };
        m2gr->bmgr = erofs_buffer_init(sbi, 0, &m2gr->vf);
        if (m2gr->bmgr) {
-               erofs_sb_set_metabox(sbi);
                sbi->m2gr = m2gr;
                return 0;
        }
diff --git a/mkfs/main.c b/mkfs/main.c
index 3dd5815..c328e0a 100644
--- a/mkfs/main.c
+++ b/mkfs/main.c
@@ -1444,6 +1444,7 @@ static int mkfs_parse_options_cfg(struct 
erofs_importer_params *params,
                }
                cfg.c_mkfs_pclustersize_metabox = pclustersize_metabox;
                cfg.c_mkfs_metabox_algid = metabox_algorithmid;
+               erofs_sb_set_metabox(&g_sbi);
        }
 
        if (has_timestamp && cfg.c_timeinherit == TIMESTAMP_UNSPECIFIED)
-- 
2.43.5


Reply via email to