@@ -1047,7 +1047,7 @@ static void shmem_undo_range(struct inode *inode, loff_t lstart, loff_t lend,
10471047void shmem_truncate_range (struct inode * inode , loff_t lstart , loff_t lend )
10481048{
10491049 shmem_undo_range (inode , lstart , lend , false);
1050- inode -> i_ctime = inode -> i_mtime = current_time (inode );
1050+ inode -> i_mtime = inode_set_ctime_current (inode );
10511051 inode_inc_iversion (inode );
10521052}
10531053EXPORT_SYMBOL_GPL (shmem_truncate_range );
@@ -1144,9 +1144,9 @@ static int shmem_setattr(struct mnt_idmap *idmap,
11441144 if (attr -> ia_valid & ATTR_MODE )
11451145 error = posix_acl_chmod (idmap , dentry , inode -> i_mode );
11461146 if (!error && update_ctime ) {
1147- inode -> i_ctime = current_time (inode );
1147+ inode_set_ctime_current (inode );
11481148 if (update_mtime )
1149- inode -> i_mtime = inode -> i_ctime ;
1149+ inode -> i_mtime = inode_get_ctime ( inode ) ;
11501150 inode_inc_iversion (inode );
11511151 }
11521152 return error ;
@@ -2372,7 +2372,7 @@ static struct inode *shmem_get_inode(struct mnt_idmap *idmap, struct super_block
23722372 inode -> i_ino = ino ;
23732373 inode_init_owner (idmap , inode , dir , mode );
23742374 inode -> i_blocks = 0 ;
2375- inode -> i_atime = inode -> i_mtime = inode -> i_ctime = current_time (inode );
2375+ inode -> i_atime = inode -> i_mtime = inode_set_ctime_current (inode );
23762376 inode -> i_generation = get_random_u32 ();
23772377 info = SHMEM_I (inode );
23782378 memset (info , 0 , (char * )inode - (char * )info );
@@ -3084,7 +3084,7 @@ shmem_mknod(struct mnt_idmap *idmap, struct inode *dir,
30843084
30853085 error = 0 ;
30863086 dir -> i_size += BOGO_DIRENT_SIZE ;
3087- dir -> i_ctime = dir -> i_mtime = current_time (dir );
3087+ dir -> i_mtime = inode_set_ctime_current (dir );
30883088 inode_inc_iversion (dir );
30893089 d_instantiate (dentry , inode );
30903090 dget (dentry ); /* Extra count - pin the dentry in core */
@@ -3160,7 +3160,8 @@ static int shmem_link(struct dentry *old_dentry, struct inode *dir, struct dentr
31603160 }
31613161
31623162 dir -> i_size += BOGO_DIRENT_SIZE ;
3163- inode -> i_ctime = dir -> i_ctime = dir -> i_mtime = current_time (inode );
3163+ dir -> i_mtime = inode_set_ctime_to_ts (dir ,
3164+ inode_set_ctime_current (inode ));
31643165 inode_inc_iversion (dir );
31653166 inc_nlink (inode );
31663167 ihold (inode ); /* New dentry reference */
@@ -3178,7 +3179,8 @@ static int shmem_unlink(struct inode *dir, struct dentry *dentry)
31783179 shmem_free_inode (inode -> i_sb );
31793180
31803181 dir -> i_size -= BOGO_DIRENT_SIZE ;
3181- inode -> i_ctime = dir -> i_ctime = dir -> i_mtime = current_time (inode );
3182+ dir -> i_mtime = inode_set_ctime_to_ts (dir ,
3183+ inode_set_ctime_current (inode ));
31823184 inode_inc_iversion (dir );
31833185 drop_nlink (inode );
31843186 dput (dentry ); /* Undo the count from "create" - this does all the work */
@@ -3320,7 +3322,7 @@ static int shmem_symlink(struct mnt_idmap *idmap, struct inode *dir,
33203322 folio_put (folio );
33213323 }
33223324 dir -> i_size += BOGO_DIRENT_SIZE ;
3323- dir -> i_ctime = dir -> i_mtime = current_time (dir );
3325+ dir -> i_mtime = inode_set_ctime_current (dir );
33243326 inode_inc_iversion (dir );
33253327 d_instantiate (dentry , inode );
33263328 dget (dentry );
@@ -3392,7 +3394,7 @@ static int shmem_fileattr_set(struct mnt_idmap *idmap,
33923394 (fa -> flags & SHMEM_FL_USER_MODIFIABLE );
33933395
33943396 shmem_set_inode_flags (inode , info -> fsflags );
3395- inode -> i_ctime = current_time (inode );
3397+ inode_set_ctime_current (inode );
33963398 inode_inc_iversion (inode );
33973399 return 0 ;
33983400}
@@ -3462,7 +3464,7 @@ static int shmem_xattr_handler_set(const struct xattr_handler *handler,
34623464 name = xattr_full_name (handler , name );
34633465 err = simple_xattr_set (& info -> xattrs , name , value , size , flags , NULL );
34643466 if (!err ) {
3465- inode -> i_ctime = current_time (inode );
3467+ inode_set_ctime_current (inode );
34663468 inode_inc_iversion (inode );
34673469 }
34683470 return err ;
0 commit comments