Re: [PATCH 71/79] zonefs: switch to new ctime accessors

From: Damien Le Moal
Date: Wed Jun 21 2023 - 20:48:32 EST


On 6/21/23 23:46, Jeff Layton wrote:
> In later patches, we're going to change how the ctime.tv_nsec field is
> utilized. Switch to using accessor functions instead of raw accesses of
> inode->i_ctime.
>
> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>

Modulo the proposed renaming for inode_ctime_peek(), looks good.

Acked-by: Damien Le Moal <dlemoal@xxxxxxxxxx>

> ---
> fs/zonefs/super.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/fs/zonefs/super.c b/fs/zonefs/super.c
> index bbe44a26a8e5..75be0e039ccf 100644
> --- a/fs/zonefs/super.c
> +++ b/fs/zonefs/super.c
> @@ -658,7 +658,8 @@ static struct inode *zonefs_get_file_inode(struct inode *dir,
>
> inode->i_ino = ino;
> inode->i_mode = z->z_mode;
> - inode->i_ctime = inode->i_mtime = inode->i_atime = dir->i_ctime;
> + inode->i_mtime = inode->i_atime = inode_ctime_peek(dir);
> + inode_ctime_set(inode, inode->i_mtime);
> inode->i_uid = z->z_uid;
> inode->i_gid = z->z_gid;
> inode->i_size = z->z_wpoffset;
> @@ -694,7 +695,8 @@ static struct inode *zonefs_get_zgroup_inode(struct super_block *sb,
> inode->i_ino = ino;
> inode_init_owner(&nop_mnt_idmap, inode, root, S_IFDIR | 0555);
> inode->i_size = sbi->s_zgroup[ztype].g_nr_zones;
> - inode->i_ctime = inode->i_mtime = inode->i_atime = root->i_ctime;
> + inode->i_mtime = inode->i_atime = inode_ctime_peek(root);
> + inode_ctime_set(inode, inode->i_mtime);
> inode->i_private = &sbi->s_zgroup[ztype];
> set_nlink(inode, 2);
>
> @@ -1317,7 +1319,7 @@ static int zonefs_fill_super(struct super_block *sb, void *data, int silent)
>
> inode->i_ino = bdev_nr_zones(sb->s_bdev);
> inode->i_mode = S_IFDIR | 0555;
> - inode->i_ctime = inode->i_mtime = inode->i_atime = current_time(inode);
> + inode->i_atime = inode->i_mtime = inode_ctime_set_current(inode);
> inode->i_op = &zonefs_dir_inode_operations;
> inode->i_fop = &zonefs_dir_operations;
> inode->i_size = 2;

--
Damien Le Moal
Western Digital Research