reiserfs: convert to ctime accessor functions
authorJeff Layton <jlayton@kernel.org>
Wed, 5 Jul 2023 19:01:37 +0000 (15:01 -0400)
committerChristian Brauner <brauner@kernel.org>
Mon, 24 Jul 2023 08:30:04 +0000 (10:30 +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-70-jlayton@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/reiserfs/inode.c
fs/reiserfs/ioctl.c
fs/reiserfs/namei.c
fs/reiserfs/stree.c
fs/reiserfs/super.c
fs/reiserfs/xattr.c
fs/reiserfs/xattr_acl.c

index 77bd3b2..86e55d4 100644 (file)
@@ -1259,9 +1259,8 @@ static void init_inode(struct inode *inode, struct treepath *path)
                inode->i_size = sd_v1_size(sd);
                inode->i_atime.tv_sec = sd_v1_atime(sd);
                inode->i_mtime.tv_sec = sd_v1_mtime(sd);
-               inode->i_ctime.tv_sec = sd_v1_ctime(sd);
+               inode_set_ctime(inode, sd_v1_ctime(sd), 0);
                inode->i_atime.tv_nsec = 0;
-               inode->i_ctime.tv_nsec = 0;
                inode->i_mtime.tv_nsec = 0;
 
                inode->i_blocks = sd_v1_blocks(sd);
@@ -1314,8 +1313,7 @@ static void init_inode(struct inode *inode, struct treepath *path)
                i_gid_write(inode, sd_v2_gid(sd));
                inode->i_mtime.tv_sec = sd_v2_mtime(sd);
                inode->i_atime.tv_sec = sd_v2_atime(sd);
-               inode->i_ctime.tv_sec = sd_v2_ctime(sd);
-               inode->i_ctime.tv_nsec = 0;
+               inode_set_ctime(inode, sd_v2_ctime(sd), 0);
                inode->i_mtime.tv_nsec = 0;
                inode->i_atime.tv_nsec = 0;
                inode->i_blocks = sd_v2_blocks(sd);
@@ -1374,7 +1372,7 @@ static void inode2sd(void *sd, struct inode *inode, loff_t size)
        set_sd_v2_gid(sd_v2, i_gid_read(inode));
        set_sd_v2_mtime(sd_v2, inode->i_mtime.tv_sec);
        set_sd_v2_atime(sd_v2, inode->i_atime.tv_sec);
-       set_sd_v2_ctime(sd_v2, inode->i_ctime.tv_sec);
+       set_sd_v2_ctime(sd_v2, inode_get_ctime(inode).tv_sec);
        set_sd_v2_blocks(sd_v2, to_fake_used_blocks(inode, SD_V2_SIZE));
        if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
                set_sd_v2_rdev(sd_v2, new_encode_dev(inode->i_rdev));
@@ -1394,7 +1392,7 @@ static void inode2sd_v1(void *sd, struct inode *inode, loff_t size)
        set_sd_v1_nlink(sd_v1, inode->i_nlink);
        set_sd_v1_size(sd_v1, size);
        set_sd_v1_atime(sd_v1, inode->i_atime.tv_sec);
-       set_sd_v1_ctime(sd_v1, inode->i_ctime.tv_sec);
+       set_sd_v1_ctime(sd_v1, inode_get_ctime(inode).tv_sec);
        set_sd_v1_mtime(sd_v1, inode->i_mtime.tv_sec);
 
        if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
@@ -1986,7 +1984,7 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
 
        /* uid and gid must already be set by the caller for quota init */
 
-       inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
+       inode->i_mtime = inode->i_atime = inode_set_ctime_current(inode);
        inode->i_size = i_size;
        inode->i_blocks = 0;
        inode->i_bytes = 0;
index 6bf9b54..dd33f8c 100644 (file)
@@ -55,7 +55,7 @@ int reiserfs_fileattr_set(struct mnt_idmap *idmap,
        }
        sd_attrs_to_i_attrs(flags, inode);
        REISERFS_I(inode)->i_attrs = flags;
-       inode->i_ctime = current_time(inode);
+       inode_set_ctime_current(inode);
        mark_inode_dirty(inode);
        err = 0;
 unlock:
@@ -107,7 +107,7 @@ long reiserfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
                        err = -EFAULT;
                        goto setversion_out;
                }
-               inode->i_ctime = current_time(inode);
+               inode_set_ctime_current(inode);
                mark_inode_dirty(inode);
 setversion_out:
                mnt_drop_write_file(filp);
index 405ac59..9c5704b 100644 (file)
@@ -572,7 +572,7 @@ static int reiserfs_add_entry(struct reiserfs_transaction_handle *th,
        }
 
        dir->i_size += paste_size;
-       dir->i_mtime = dir->i_ctime = current_time(dir);
+       dir->i_mtime = inode_set_ctime_current(dir);
        if (!S_ISDIR(inode->i_mode) && visible)
                /* reiserfs_mkdir or reiserfs_rename will do that by itself */
                reiserfs_update_sd(th, dir);
@@ -966,7 +966,8 @@ static int reiserfs_rmdir(struct inode *dir, struct dentry *dentry)
                               inode->i_nlink);
 
        clear_nlink(inode);
-       inode->i_ctime = dir->i_ctime = dir->i_mtime = current_time(dir);
+       dir->i_mtime = inode_set_ctime_to_ts(dir,
+                                            inode_set_ctime_current(inode));
        reiserfs_update_sd(&th, inode);
 
        DEC_DIR_INODE_NLINK(dir)
@@ -1070,11 +1071,11 @@ static int reiserfs_unlink(struct inode *dir, struct dentry *dentry)
                inc_nlink(inode);
                goto end_unlink;
        }
-       inode->i_ctime = current_time(inode);
+       inode_set_ctime_current(inode);
        reiserfs_update_sd(&th, inode);
 
        dir->i_size -= (de.de_entrylen + DEH_SIZE);
-       dir->i_ctime = dir->i_mtime = current_time(dir);
+       dir->i_mtime = inode_set_ctime_current(dir);
        reiserfs_update_sd(&th, dir);
 
        if (!savelink)
@@ -1250,7 +1251,7 @@ static int reiserfs_link(struct dentry *old_dentry, struct inode *dir,
                return err ? err : retval;
        }
 
-       inode->i_ctime = current_time(inode);
+       inode_set_ctime_current(inode);
        reiserfs_update_sd(&th, inode);
 
        ihold(inode);
index ce50039..3676e02 100644 (file)
@@ -2004,7 +2004,7 @@ int reiserfs_do_truncate(struct reiserfs_transaction_handle *th,
 
                        if (update_timestamps) {
                                inode->i_mtime = current_time(inode);
-                               inode->i_ctime = current_time(inode);
+                               inode_set_ctime_current(inode);
                        }
                        reiserfs_update_sd(th, inode);
 
@@ -2029,7 +2029,7 @@ update_and_out:
        if (update_timestamps) {
                /* this is truncate, not file closing */
                inode->i_mtime = current_time(inode);
-               inode->i_ctime = current_time(inode);
+               inode_set_ctime_current(inode);
        }
        reiserfs_update_sd(th, inode);
 
index 929acce..7eaf36b 100644 (file)
@@ -2587,7 +2587,7 @@ out:
                return err;
        if (inode->i_size < off + len - towrite)
                i_size_write(inode, off + len - towrite);
-       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 6510279..6000964 100644 (file)
@@ -466,12 +466,13 @@ int reiserfs_commit_write(struct file *f, struct page *page,
 static void update_ctime(struct inode *inode)
 {
        struct timespec64 now = current_time(inode);
+       struct timespec64 ctime = inode_get_ctime(inode);
 
        if (inode_unhashed(inode) || !inode->i_nlink ||
-           timespec64_equal(&inode->i_ctime, &now))
+           timespec64_equal(&ctime, &now))
                return;
 
-       inode->i_ctime = current_time(inode);
+       inode_set_ctime_to_ts(inode, now);
        mark_inode_dirty(inode);
 }
 
index 1380604..0642649 100644 (file)
@@ -285,7 +285,7 @@ __reiserfs_set_acl(struct reiserfs_transaction_handle *th, struct inode *inode,
        if (error == -ENODATA) {
                error = 0;
                if (type == ACL_TYPE_ACCESS) {
-                       inode->i_ctime = current_time(inode);
+                       inode_set_ctime_current(inode);
                        mark_inode_dirty(inode);
                }
        }