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