ext2: convert to ctime accessor functions
authorJeff Layton <jlayton@kernel.org>
Wed, 5 Jul 2023 19:01:06 +0000 (15:01 -0400)
committerChristian Brauner <brauner@kernel.org>
Thu, 13 Jul 2023 08:28:07 +0000 (10:28 +0200)
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@kernel.org>
Reviewed-by: Jan Kara <jack@suse.cz>
Message-Id: <20230705190309.579783-39-jlayton@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/ext2/acl.c
fs/ext2/dir.c
fs/ext2/ialloc.c
fs/ext2/inode.c
fs/ext2/ioctl.c
fs/ext2/namei.c
fs/ext2/super.c
fs/ext2/xattr.c

index 82b17d7fc93fe8b5d5cb0bac254673ce108f8b7a..7e54c31589c7cace35b9de4eb26cd14010eb3cbb 100644 (file)
@@ -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;
index 42db804794bdcc7b82e7f6eecf7a4aab550e2347..b335f17f682f7ab791b59339d89c09325db20f57 100644 (file)
@@ -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 @@ got_it:
        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);
index a4e1d7a9c5445261f1a80a0bbefe88d0a8fedd1e..124df89689e1f707c59a8224fbf0ae06b9450b2b 100644 (file)
@@ -549,7 +549,7 @@ got:
 
        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);
index 75983215c7a1f5252ab78c16b010c7842c8e6a1a..1259995977d24c3e0fdb50f5d7a00674abc29a6d 100644 (file)
@@ -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);
index cc87d413eb435d7106e8c4444cb164be16a0f87b..44e04484e570c49a54921f3c754098cd4c4d1eb9 100644 (file)
@@ -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);
 
index 937dd8f60f96c7347be6db1d58dc398fe0cc45c5..059517068adca5231d633fef942658b6a3b9c79e 100644 (file)
@@ -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);
index 2959afc7541c783fb7e3da56d45889d4396bb2ba..aaf3e3e88cb218a55297b4968dfc325eceb0ed00 100644 (file)
@@ -1572,7 +1572,7 @@ out:
        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;
 }
index 8906ba479aafb513e8758c354e7767c03f784681..1c9187188d684c57d38f75dc0cf29482abeef1b4 100644 (file)
@@ -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