aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Anderson <dvander@google.com>2022-03-11 04:17:23 +0000
committerDavid Anderson <dvander@google.com>2022-03-23 12:20:28 -0700
commit8b34f017ffbb7f07e8bf99209c5d917ae3b063e5 (patch)
tree4368773a0588b14bbd39a863cf6fde2f54cbbb55
parent05138467dba0188d1a8bb45a7dce4a333ad77830 (diff)
downloaderofs-utils-8b34f017ffbb7f07e8bf99209c5d917ae3b063e5.tar.gz
erofs-utils: mkfs: rename ctime to mtime
Currently mkfs.erofs picks up whatever the system time happened to be when the input file structure was created. Since there's no (easy) way for userspace to control ctime, there's no way to control the per-file ctime that mkfs.erofs uses. In preparation for switching to mtime, rename the "ctime" members of the inode structure. Link: https://lore.kernel.org/r/20220311041724.3107622-1-dvander@google.com Signed-off-by: David Anderson <dvander@google.com> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com> Change-Id: Iff6f5f8a1e5f729f6a5949719b1891a91fd34c41
-rw-r--r--dump/main.c4
-rw-r--r--fsck/main.c12
-rw-r--r--fuse/main.c2
-rw-r--r--include/erofs/internal.h4
-rw-r--r--include/erofs_fs.h4
-rw-r--r--lib/inode.c14
-rw-r--r--lib/namei.c8
7 files changed, 24 insertions, 24 deletions
diff --git a/dump/main.c b/dump/main.c
index bb1bd7f..6565d35 100644
--- a/dump/main.c
+++ b/dump/main.c
@@ -488,7 +488,7 @@ static void erofsdump_show_fileinfo(bool show_extent)
}
strftime(timebuf, sizeof(timebuf),
- "%Y-%m-%d %H:%M:%S", localtime((time_t *)&inode.i_ctime));
+ "%Y-%m-%d %H:%M:%S", localtime((time_t *)&inode.i_mtime));
access_mode = inode.i_mode & 0777;
for (i = 8; i >= 0; i--)
if (((access_mode >> i) & 1) == 0)
@@ -507,7 +507,7 @@ static void erofsdump_show_fileinfo(bool show_extent)
fprintf(stdout, "Xattr size: %u\n", inode.xattr_isize);
fprintf(stdout, "Uid: %u Gid: %u ", inode.i_uid, inode.i_gid);
fprintf(stdout, "Access: %04o/%s\n", access_mode, access_mode_str);
- fprintf(stdout, "Timestamp: %s.%09d\n", timebuf, inode.i_ctime_nsec);
+ fprintf(stdout, "Timestamp: %s.%09d\n", timebuf, inode.i_mtime_nsec);
if (!dumpcfg.show_extent)
return;
diff --git a/fsck/main.c b/fsck/main.c
index e669b44..0af15b4 100644
--- a/fsck/main.c
+++ b/fsck/main.c
@@ -229,14 +229,14 @@ static void erofsfsck_set_attributes(struct erofs_inode *inode, char *path)
#ifdef HAVE_UTIMENSAT
if (utimensat(AT_FDCWD, path, (struct timespec []) {
- [0] = { .tv_sec = inode->i_ctime,
- .tv_nsec = inode->i_ctime_nsec },
- [1] = { .tv_sec = inode->i_ctime,
- .tv_nsec = inode->i_ctime_nsec },
+ [0] = { .tv_sec = inode->i_mtime,
+ .tv_nsec = inode->i_mtime_nsec },
+ [1] = { .tv_sec = inode->i_mtime,
+ .tv_nsec = inode->i_mtime_nsec },
}, AT_SYMLINK_NOFOLLOW) < 0)
#else
- if (utime(path, &((struct utimbuf){.actime = inode->i_ctime,
- .modtime = inode->i_ctime})) < 0)
+ if (utime(path, &((struct utimbuf){.actime = inode->i_mtime,
+ .modtime = inode->i_mtime})) < 0)
#endif
erofs_warn("failed to set times: %s", path);
diff --git a/fuse/main.c b/fuse/main.c
index 2549d8a..ae377ae 100644
--- a/fuse/main.c
+++ b/fuse/main.c
@@ -98,7 +98,7 @@ static int erofsfuse_getattr(const char *path, struct stat *stbuf)
stbuf->st_gid = vi.i_gid;
if (S_ISBLK(vi.i_mode) || S_ISCHR(vi.i_mode))
stbuf->st_rdev = vi.u.i_rdev;
- stbuf->st_ctime = vi.i_ctime;
+ stbuf->st_ctime = vi.i_mtime;
stbuf->st_mtime = stbuf->st_ctime;
stbuf->st_atime = stbuf->st_ctime;
return 0;
diff --git a/include/erofs/internal.h b/include/erofs/internal.h
index 947304f..56627e9 100644
--- a/include/erofs/internal.h
+++ b/include/erofs/internal.h
@@ -154,8 +154,8 @@ struct erofs_inode {
u64 i_ino[2];
u32 i_uid;
u32 i_gid;
- u64 i_ctime;
- u32 i_ctime_nsec;
+ u64 i_mtime;
+ u32 i_mtime_nsec;
u32 i_nlink;
union {
diff --git a/include/erofs_fs.h b/include/erofs_fs.h
index 9a91877..e01f5c7 100644
--- a/include/erofs_fs.h
+++ b/include/erofs_fs.h
@@ -183,8 +183,8 @@ struct erofs_inode_extended {
__le32 i_uid;
__le32 i_gid;
- __le64 i_ctime;
- __le32 i_ctime_nsec;
+ __le64 i_mtime;
+ __le32 i_mtime_nsec;
__le32 i_nlink;
__u8 i_reserved2[16];
};
diff --git a/lib/inode.c b/lib/inode.c
index 461c797..24f2567 100644
--- a/lib/inode.c
+++ b/lib/inode.c
@@ -477,8 +477,8 @@ static bool erofs_bh_flush_write_inode(struct erofs_buffer_head *bh)
u.die.i_uid = cpu_to_le32(inode->i_uid);
u.die.i_gid = cpu_to_le32(inode->i_gid);
- u.die.i_ctime = cpu_to_le64(inode->i_ctime);
- u.die.i_ctime_nsec = cpu_to_le32(inode->i_ctime_nsec);
+ u.die.i_mtime = cpu_to_le64(inode->i_mtime);
+ u.die.i_mtime_nsec = cpu_to_le32(inode->i_mtime_nsec);
switch (inode->i_mode & S_IFMT) {
case S_IFCHR:
@@ -806,16 +806,16 @@ static int erofs_fill_inode(struct erofs_inode *inode,
inode->i_mode = st->st_mode;
inode->i_uid = cfg.c_uid == -1 ? st->st_uid : cfg.c_uid;
inode->i_gid = cfg.c_gid == -1 ? st->st_gid : cfg.c_gid;
- inode->i_ctime = st->st_ctime;
- inode->i_ctime_nsec = ST_CTIM_NSEC(st);
+ inode->i_mtime = st->st_ctime;
+ inode->i_mtime_nsec = ST_CTIM_NSEC(st);
switch (cfg.c_timeinherit) {
case TIMESTAMP_CLAMPING:
- if (st->st_ctime < sbi.build_time)
+ if (inode->i_mtime < sbi.build_time)
break;
case TIMESTAMP_FIXED:
- inode->i_ctime = sbi.build_time;
- inode->i_ctime_nsec = sbi.build_time_nsec;
+ inode->i_mtime = sbi.build_time;
+ inode->i_mtime_nsec = sbi.build_time_nsec;
default:
break;
}
diff --git a/lib/namei.c b/lib/namei.c
index 7377e74..2c8891a 100644
--- a/lib/namei.c
+++ b/lib/namei.c
@@ -79,8 +79,8 @@ int erofs_read_inode_from_disk(struct erofs_inode *vi)
vi->i_gid = le32_to_cpu(die->i_gid);
vi->i_nlink = le32_to_cpu(die->i_nlink);
- vi->i_ctime = le64_to_cpu(die->i_ctime);
- vi->i_ctime_nsec = le64_to_cpu(die->i_ctime_nsec);
+ vi->i_mtime = le64_to_cpu(die->i_mtime);
+ vi->i_mtime_nsec = le64_to_cpu(die->i_mtime_nsec);
vi->i_size = le64_to_cpu(die->i_size);
if (vi->datalayout == EROFS_INODE_CHUNK_BASED)
/* fill chunked inode summary info */
@@ -114,8 +114,8 @@ int erofs_read_inode_from_disk(struct erofs_inode *vi)
vi->i_gid = le16_to_cpu(dic->i_gid);
vi->i_nlink = le16_to_cpu(dic->i_nlink);
- vi->i_ctime = sbi.build_time;
- vi->i_ctime_nsec = sbi.build_time_nsec;
+ vi->i_mtime = sbi.build_time;
+ vi->i_mtime_nsec = sbi.build_time_nsec;
vi->i_size = le32_to_cpu(dic->i_size);
if (vi->datalayout == EROFS_INODE_CHUNK_BASED)