btrfs: convert to simple_rename_timestamp
authorJeff Layton <jlayton@kernel.org>
Wed, 5 Jul 2023 19:00:34 +0000 (15:00 -0400)
committerChristian Brauner <brauner@kernel.org>
Mon, 10 Jul 2023 08:08:16 +0000 (10:08 +0200)
A rename potentially involves updating 4 different inode timestamps.
Convert to the new simple_rename_timestamp helper function.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Message-Id: <20230705190309.579783-7-jlayton@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/btrfs/inode.c

index dbbb672..956ae49 100644 (file)
@@ -8777,7 +8777,6 @@ static int btrfs_rename_exchange(struct inode *old_dir,
        struct btrfs_root *dest = BTRFS_I(new_dir)->root;
        struct inode *new_inode = new_dentry->d_inode;
        struct inode *old_inode = old_dentry->d_inode;
-       struct timespec64 ctime = current_time(old_inode);
        struct btrfs_rename_ctx old_rename_ctx;
        struct btrfs_rename_ctx new_rename_ctx;
        u64 old_ino = btrfs_ino(BTRFS_I(old_inode));
@@ -8908,12 +8907,7 @@ static int btrfs_rename_exchange(struct inode *old_dir,
        inode_inc_iversion(new_dir);
        inode_inc_iversion(old_inode);
        inode_inc_iversion(new_inode);
-       old_dir->i_mtime = ctime;
-       old_dir->i_ctime = ctime;
-       new_dir->i_mtime = ctime;
-       new_dir->i_ctime = ctime;
-       old_inode->i_ctime = ctime;
-       new_inode->i_ctime = ctime;
+       simple_rename_timestamp(old_dir, old_dentry, new_dir, new_dentry);
 
        if (old_dentry->d_parent != new_dentry->d_parent) {
                btrfs_record_unlink_dir(trans, BTRFS_I(old_dir),
@@ -9177,11 +9171,7 @@ static int btrfs_rename(struct mnt_idmap *idmap,
        inode_inc_iversion(old_dir);
        inode_inc_iversion(new_dir);
        inode_inc_iversion(old_inode);
-       old_dir->i_mtime = current_time(old_dir);
-       old_dir->i_ctime = old_dir->i_mtime;
-       new_dir->i_mtime = old_dir->i_mtime;
-       new_dir->i_ctime = old_dir->i_mtime;
-       old_inode->i_ctime = old_dir->i_mtime;
+       simple_rename_timestamp(old_dir, old_dentry, new_dir, new_dentry);
 
        if (old_dentry->d_parent != new_dentry->d_parent)
                btrfs_record_unlink_dir(trans, BTRFS_I(old_dir),
@@ -9203,7 +9193,6 @@ static int btrfs_rename(struct mnt_idmap *idmap,
 
        if (new_inode) {
                inode_inc_iversion(new_inode);
-               new_inode->i_ctime = current_time(new_inode);
                if (unlikely(btrfs_ino(BTRFS_I(new_inode)) ==
                             BTRFS_EMPTY_SUBVOL_DIR_OBJECTID)) {
                        ret = btrfs_unlink_subvol(trans, BTRFS_I(new_dir), new_dentry);