[PATCH] erofs: rename ctime to mtime

Gao Xiang hsiangkao at linux.alibaba.com
Fri Mar 11 15:47:20 AEDT 2022


Hi David,

On Fri, Mar 11, 2022 at 04:18:29AM +0000, David Anderson via Linux-erofs wrote:
> EROFS images should inherit modification time rather than creation time,
> since users and host tooling have no easy way to control creation time.
> To reflect the new timestamp meaning, i_ctime and i_ctime_nsec are
> renamed to i_mtime and i_mtime_nsec.
> 
> Signed-off-by: David Anderson <dvander at google.com>

Thanks for the patch!

This patch looks good to me, yet, should we update
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/filesystems/erofs.rst#n43

here as well? (I think "Inode timestamp" might be fine..)

Thanks,
Gao Xiang

> ---
>  fs/erofs/erofs_fs.h | 5 +++--
>  fs/erofs/inode.c    | 4 ++--
>  2 files changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/fs/erofs/erofs_fs.h b/fs/erofs/erofs_fs.h
> index 3ea62c6fb00a..1238ca104f09 100644
> --- a/fs/erofs/erofs_fs.h
> +++ b/fs/erofs/erofs_fs.h
> @@ -12,6 +12,7 @@
>  #define EROFS_SUPER_OFFSET      1024
>  
>  #define EROFS_FEATURE_COMPAT_SB_CHKSUM          0x00000001
> +#define EROFS_FEATURE_COMPAT_MTIME              0x00000002
>  
>  /*
>   * Any bits that aren't in EROFS_ALL_FEATURE_INCOMPAT should
> @@ -186,8 +187,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/fs/erofs/inode.c b/fs/erofs/inode.c
> index ff62f84f47d3..e8b37ba5e9ad 100644
> --- a/fs/erofs/inode.c
> +++ b/fs/erofs/inode.c
> @@ -113,8 +113,8 @@ static void *erofs_read_inode(struct erofs_buf *buf,
>  		set_nlink(inode, le32_to_cpu(die->i_nlink));
>  
>  		/* extended inode has its own timestamp */
> -		inode->i_ctime.tv_sec = le64_to_cpu(die->i_ctime);
> -		inode->i_ctime.tv_nsec = le32_to_cpu(die->i_ctime_nsec);
> +		inode->i_ctime.tv_sec = le64_to_cpu(die->i_mtime);
> +		inode->i_ctime.tv_nsec = le32_to_cpu(die->i_mtime_nsec);
>  
>  		inode->i_size = le64_to_cpu(die->i_size);
>  
> -- 
> 2.35.1.723.g4982287a31-goog


More information about the Linux-erofs mailing list