On Wed 05-07-23 15:01:06, Jeff Layton wrote: > In later patches, we're going to change how the inode's ctime field is > used. Switch to using accessor functions instead of raw accesses of > inode->i_ctime. > > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> Looks good. Feel free to add: Reviewed-by: Jan Kara <jack@xxxxxxx> Honza > --- > fs/ext2/acl.c | 2 +- > fs/ext2/dir.c | 6 +++--- > fs/ext2/ialloc.c | 2 +- > fs/ext2/inode.c | 10 +++++----- > fs/ext2/ioctl.c | 4 ++-- > fs/ext2/namei.c | 8 ++++---- > fs/ext2/super.c | 2 +- > fs/ext2/xattr.c | 2 +- > 8 files changed, 18 insertions(+), 18 deletions(-) > > diff --git a/fs/ext2/acl.c b/fs/ext2/acl.c > index 82b17d7fc93f..7e54c31589c7 100644 > --- a/fs/ext2/acl.c > +++ b/fs/ext2/acl.c > @@ -237,7 +237,7 @@ ext2_set_acl(struct mnt_idmap *idmap, struct dentry *dentry, > error = __ext2_set_acl(inode, acl, type); > if (!error && update_mode) { > inode->i_mode = mode; > - inode->i_ctime = current_time(inode); > + inode_set_ctime_current(inode); > mark_inode_dirty(inode); > } > return error; > diff --git a/fs/ext2/dir.c b/fs/ext2/dir.c > index 42db804794bd..b335f17f682f 100644 > --- a/fs/ext2/dir.c > +++ b/fs/ext2/dir.c > @@ -468,7 +468,7 @@ int ext2_set_link(struct inode *dir, struct ext2_dir_entry_2 *de, > ext2_set_de_type(de, inode); > ext2_commit_chunk(page, pos, len); > if (update_times) > - dir->i_mtime = dir->i_ctime = current_time(dir); > + dir->i_mtime = inode_set_ctime_current(dir); > EXT2_I(dir)->i_flags &= ~EXT2_BTREE_FL; > mark_inode_dirty(dir); > return ext2_handle_dirsync(dir); > @@ -555,7 +555,7 @@ int ext2_add_link (struct dentry *dentry, struct inode *inode) > de->inode = cpu_to_le32(inode->i_ino); > ext2_set_de_type (de, inode); > ext2_commit_chunk(page, pos, rec_len); > - dir->i_mtime = dir->i_ctime = current_time(dir); > + dir->i_mtime = inode_set_ctime_current(dir); > EXT2_I(dir)->i_flags &= ~EXT2_BTREE_FL; > mark_inode_dirty(dir); > err = ext2_handle_dirsync(dir); > @@ -606,7 +606,7 @@ int ext2_delete_entry(struct ext2_dir_entry_2 *dir, struct page *page) > pde->rec_len = ext2_rec_len_to_disk(to - from); > dir->inode = 0; > ext2_commit_chunk(page, pos, to - from); > - inode->i_ctime = inode->i_mtime = current_time(inode); > + inode->i_mtime = inode_set_ctime_current(inode); > EXT2_I(inode)->i_flags &= ~EXT2_BTREE_FL; > mark_inode_dirty(inode); > return ext2_handle_dirsync(inode); > diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c > index 34cd5dc1da23..c24d0de95a83 100644 > --- a/fs/ext2/ialloc.c > +++ b/fs/ext2/ialloc.c > @@ -546,7 +546,7 @@ struct inode *ext2_new_inode(struct inode *dir, umode_t mode, > > inode->i_ino = ino; > inode->i_blocks = 0; > - inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode); > + inode->i_mtime = inode->i_atime = inode_set_ctime_current(inode); > memset(ei->i_data, 0, sizeof(ei->i_data)); > ei->i_flags = > ext2_mask_flags(mode, EXT2_I(dir)->i_flags & EXT2_FL_INHERITED); > diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c > index 75983215c7a1..1259995977d2 100644 > --- a/fs/ext2/inode.c > +++ b/fs/ext2/inode.c > @@ -595,7 +595,7 @@ static void ext2_splice_branch(struct inode *inode, > if (where->bh) > mark_buffer_dirty_inode(where->bh, inode); > > - inode->i_ctime = current_time(inode); > + inode_set_ctime_current(inode); > mark_inode_dirty(inode); > } > > @@ -1287,7 +1287,7 @@ static int ext2_setsize(struct inode *inode, loff_t newsize) > __ext2_truncate_blocks(inode, newsize); > filemap_invalidate_unlock(inode->i_mapping); > > - inode->i_mtime = inode->i_ctime = current_time(inode); > + inode->i_mtime = inode_set_ctime_current(inode); > if (inode_needs_sync(inode)) { > sync_mapping_buffers(inode->i_mapping); > sync_inode_metadata(inode, 1); > @@ -1409,9 +1409,9 @@ struct inode *ext2_iget (struct super_block *sb, unsigned long ino) > set_nlink(inode, le16_to_cpu(raw_inode->i_links_count)); > inode->i_size = le32_to_cpu(raw_inode->i_size); > inode->i_atime.tv_sec = (signed)le32_to_cpu(raw_inode->i_atime); > - inode->i_ctime.tv_sec = (signed)le32_to_cpu(raw_inode->i_ctime); > + inode_set_ctime(inode, (signed)le32_to_cpu(raw_inode->i_ctime), 0); > inode->i_mtime.tv_sec = (signed)le32_to_cpu(raw_inode->i_mtime); > - inode->i_atime.tv_nsec = inode->i_mtime.tv_nsec = inode->i_ctime.tv_nsec = 0; > + inode->i_atime.tv_nsec = inode->i_mtime.tv_nsec = 0; > ei->i_dtime = le32_to_cpu(raw_inode->i_dtime); > /* We now have enough fields to check if the inode was active or not. > * This is needed because nfsd might try to access dead inodes > @@ -1541,7 +1541,7 @@ static int __ext2_write_inode(struct inode *inode, int do_sync) > raw_inode->i_links_count = cpu_to_le16(inode->i_nlink); > raw_inode->i_size = cpu_to_le32(inode->i_size); > raw_inode->i_atime = cpu_to_le32(inode->i_atime.tv_sec); > - raw_inode->i_ctime = cpu_to_le32(inode->i_ctime.tv_sec); > + raw_inode->i_ctime = cpu_to_le32(inode_get_ctime(inode).tv_sec); > raw_inode->i_mtime = cpu_to_le32(inode->i_mtime.tv_sec); > > raw_inode->i_blocks = cpu_to_le32(inode->i_blocks); > diff --git a/fs/ext2/ioctl.c b/fs/ext2/ioctl.c > index cc87d413eb43..44e04484e570 100644 > --- a/fs/ext2/ioctl.c > +++ b/fs/ext2/ioctl.c > @@ -44,7 +44,7 @@ int ext2_fileattr_set(struct mnt_idmap *idmap, > (fa->flags & EXT2_FL_USER_MODIFIABLE); > > ext2_set_inode_flags(inode); > - inode->i_ctime = current_time(inode); > + inode_set_ctime_current(inode); > mark_inode_dirty(inode); > > return 0; > @@ -77,7 +77,7 @@ long ext2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) > } > > inode_lock(inode); > - inode->i_ctime = current_time(inode); > + inode_set_ctime_current(inode); > inode->i_generation = generation; > inode_unlock(inode); > > diff --git a/fs/ext2/namei.c b/fs/ext2/namei.c > index 937dd8f60f96..059517068adc 100644 > --- a/fs/ext2/namei.c > +++ b/fs/ext2/namei.c > @@ -211,7 +211,7 @@ static int ext2_link (struct dentry * old_dentry, struct inode * dir, > if (err) > return err; > > - inode->i_ctime = current_time(inode); > + inode_set_ctime_current(inode); > inode_inc_link_count(inode); > ihold(inode); > > @@ -291,7 +291,7 @@ static int ext2_unlink(struct inode *dir, struct dentry *dentry) > if (err) > goto out; > > - inode->i_ctime = dir->i_ctime; > + inode_set_ctime_to_ts(inode, inode_get_ctime(dir)); > inode_dec_link_count(inode); > err = 0; > out: > @@ -367,7 +367,7 @@ static int ext2_rename (struct mnt_idmap * idmap, > ext2_put_page(new_page, new_de); > if (err) > goto out_dir; > - new_inode->i_ctime = current_time(new_inode); > + inode_set_ctime_current(new_inode); > if (dir_de) > drop_nlink(new_inode); > inode_dec_link_count(new_inode); > @@ -383,7 +383,7 @@ static int ext2_rename (struct mnt_idmap * idmap, > * Like most other Unix systems, set the ctime for inodes on a > * rename. > */ > - old_inode->i_ctime = current_time(old_inode); > + inode_set_ctime_current(old_inode); > mark_inode_dirty(old_inode); > > err = ext2_delete_entry(old_de, old_page); > diff --git a/fs/ext2/super.c b/fs/ext2/super.c > index 2959afc7541c..aaf3e3e88cb2 100644 > --- a/fs/ext2/super.c > +++ b/fs/ext2/super.c > @@ -1572,7 +1572,7 @@ static ssize_t ext2_quota_write(struct super_block *sb, int type, > if (inode->i_size < off+len-towrite) > i_size_write(inode, off+len-towrite); > inode_inc_iversion(inode); > - inode->i_mtime = inode->i_ctime = current_time(inode); > + inode->i_mtime = inode_set_ctime_current(inode); > mark_inode_dirty(inode); > return len - towrite; > } > diff --git a/fs/ext2/xattr.c b/fs/ext2/xattr.c > index 8906ba479aaf..1c9187188d68 100644 > --- a/fs/ext2/xattr.c > +++ b/fs/ext2/xattr.c > @@ -773,7 +773,7 @@ ext2_xattr_set2(struct inode *inode, struct buffer_head *old_bh, > > /* Update the inode. */ > EXT2_I(inode)->i_file_acl = new_bh ? new_bh->b_blocknr : 0; > - inode->i_ctime = current_time(inode); > + inode_set_ctime_current(inode); > if (IS_SYNC(inode)) { > error = sync_inode_metadata(inode, 1); > /* In case sync failed due to ENOSPC the inode was actually > -- > 2.41.0 > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR