[PATCH] erofs-utils: lib: fix incorrect mtime under -Edot-omitted
Yifan Zhao
zhaoyifan28 at huawei.com
Fri Jan 16 15:05:09 AEDT 2026
`-Edot-omitted`` enables `-E48bits``, which requires specific
configurations for g_sbi.{epoch, build_time}. Currently, the call to
`erofs_sb_set_48bit()` occurs too late in the execution flow, causing
the aforementioned logic to be bypassed and resulting in incorrect
mtimes for all inodes.
This patch moves `erofs_sb_set_48bit()`` forward to the options parsing
stage to resolve this issue.
Signed-off-by: Yifan Zhao <zhaoyifan28 at huawei.com>
---
lib/importer.c | 2 --
mkfs/main.c | 2 ++
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/importer.c b/lib/importer.c
index 958a433..cd71a21 100644
--- a/lib/importer.c
+++ b/lib/importer.c
@@ -81,8 +81,6 @@ int erofs_importer_init(struct erofs_importer *im)
goto out_err;
}
- if (params->dot_omitted)
- erofs_sb_set_48bit(sbi);
return 0;
out_err:
diff --git a/mkfs/main.c b/mkfs/main.c
index 620b1ed..347cdcb 100644
--- a/mkfs/main.c
+++ b/mkfs/main.c
@@ -428,6 +428,8 @@ static int erofs_mkfs_feat_set_dot_omitted(struct erofs_importer_params *params,
return -EINVAL;
mkfs_dot_omitted = en;
+ if (en)
+ erofs_sb_set_48bit(&g_sbi);
return 0;
}
--
2.47.3
More information about the Linux-erofs
mailing list