[PATCH] erofs-utils: mkfs: introduce `--preserve-mtime'
Gao Xiang
xiang at kernel.org
Sat Jun 11 18:22:48 AEST 2022
In the past versions, `-Eforce-inode-compact' worked since timestamps
were ignored. Currently, since we don't ignore mtime by default any
more, `-Eforce-inode-compact' fails and that breaks compatibility.
Let's fix `-Eforce-inode-compact' to ignore mtime as the past versions
did, also add another option `--preserve-mtime' for this.
Signed-off-by: Gao Xiang <xiang at kernel.org>
---
man/mkfs.erofs.1 | 4 ++++
mkfs/main.c | 5 +++++
2 files changed, 9 insertions(+)
diff --git a/man/mkfs.erofs.1 b/man/mkfs.erofs.1
index d61e33e..6017760 100644
--- a/man/mkfs.erofs.1
+++ b/man/mkfs.erofs.1
@@ -119,6 +119,10 @@ can reduce total metadata size.
.TP
.BI "\-\-max-extent-bytes " #
Specify maximum decompressed extent size # in bytes.
+.TP
+.B "\-\-preserve-mtime"
+File modification time is preserved whenever \fBmkfs.erofs\fR decides to use
+extended inodes over compact inodes.
.SH AUTHOR
This version of \fBmkfs.erofs\fR is written by Li Guifu <blucerlee at gmail.com>,
Miao Xie <miaoxie at huawei.com> and Gao Xiang <xiang at kernel.org> with
diff --git a/mkfs/main.c b/mkfs/main.c
index 9d43cd4..54a3fed 100644
--- a/mkfs/main.c
+++ b/mkfs/main.c
@@ -50,6 +50,7 @@ static struct option long_options[] = {
{"quiet", no_argument, 0, 12},
{"blobdev", required_argument, NULL, 13},
{"ignore-mtime", no_argument, NULL, 14},
+ {"preserve-mtime", no_argument, NULL, 15},
#ifdef WITH_ANDROID
{"mount-point", required_argument, NULL, 512},
{"product-out", required_argument, NULL, 513},
@@ -158,6 +159,7 @@ static int parse_extended_opts(const char *opts)
if (vallen)
return -EINVAL;
cfg.c_force_inodeversion = FORCE_INODE_COMPACT;
+ cfg.c_ignore_mtime = true;
}
if (MATCH_EXTENTED_OPT("force-inode-extended", token, keylen)) {
@@ -377,6 +379,9 @@ static int mkfs_parse_options_cfg(int argc, char *argv[])
case 14:
cfg.c_ignore_mtime = true;
break;
+ case 15:
+ cfg.c_ignore_mtime = false;
+ break;
case 1:
usage();
exit(0);
--
2.30.2
More information about the Linux-erofs
mailing list