f2fs: remove unneeded in-memory i_crtime copy
authorChao Yu <chao@kernel.org>
Mon, 10 Apr 2023 02:20:12 +0000 (10:20 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Mon, 10 Apr 2023 18:00:58 +0000 (11:00 -0700)
i_crtime will never change after inode creation, so we don't need
to copy it into f2fs_inode_info.i_disk_time[3], and monitor its
change to decide whether updating inode page, remove related stuff.

Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/f2fs.h
fs/f2fs/inode.c

index 5b99932190878307ecacb316db7703ec3e250bb0..68eadc1ac1300df6d00cba55f0ad199836735444 100644 (file)
@@ -843,7 +843,7 @@ struct f2fs_inode_info {
        kprojid_t i_projid;             /* id for project quota */
        int i_inline_xattr_size;        /* inline xattr size */
        struct timespec64 i_crtime;     /* inode creation time */
-       struct timespec64 i_disk_time[4];/* inode disk times */
+       struct timespec64 i_disk_time[3];/* inode disk times */
 
        /* for file compress */
        atomic_t i_compr_blocks;                /* # of compressed blocks */
@@ -3292,9 +3292,6 @@ static inline bool f2fs_is_time_consistent(struct inode *inode)
                return false;
        if (!timespec64_equal(F2FS_I(inode)->i_disk_time + 2, &inode->i_mtime))
                return false;
-       if (!timespec64_equal(F2FS_I(inode)->i_disk_time + 3,
-                                               &F2FS_I(inode)->i_crtime))
-               return false;
        return true;
 }
 
index bb5b365a195d3256c846fb40d3a85d2c6369435b..cf4327ad106c01ecf671384e7097f738fb0fbf17 100644 (file)
@@ -326,7 +326,6 @@ static void init_idisk_time(struct inode *inode)
        fi->i_disk_time[0] = inode->i_atime;
        fi->i_disk_time[1] = inode->i_ctime;
        fi->i_disk_time[2] = inode->i_mtime;
-       fi->i_disk_time[3] = fi->i_crtime;
 }
 
 static int do_read_inode(struct inode *inode)