@@ -1112,7 +1112,7 @@ static void shmem_undo_range(struct inode *inode, loff_t lstart, loff_t lend,
11121112void shmem_truncate_range (struct inode * inode , loff_t lstart , loff_t lend )
11131113{
11141114 shmem_undo_range (inode , lstart , lend , false);
1115- inode -> i_mtime = inode_set_ctime_current (inode );
1115+ inode_set_mtime_to_ts ( inode , inode_set_ctime_current (inode ) );
11161116 inode_inc_iversion (inode );
11171117}
11181118EXPORT_SYMBOL_GPL (shmem_truncate_range );
@@ -1224,7 +1224,7 @@ static int shmem_setattr(struct mnt_idmap *idmap,
12241224 if (!error && update_ctime ) {
12251225 inode_set_ctime_current (inode );
12261226 if (update_mtime )
1227- inode -> i_mtime = inode_get_ctime (inode );
1227+ inode_set_mtime_to_ts ( inode , inode_get_ctime (inode ) );
12281228 inode_inc_iversion (inode );
12291229 }
12301230 return error ;
@@ -2455,15 +2455,15 @@ static struct inode *__shmem_get_inode(struct mnt_idmap *idmap,
24552455 inode -> i_ino = ino ;
24562456 inode_init_owner (idmap , inode , dir , mode );
24572457 inode -> i_blocks = 0 ;
2458- inode -> i_atime = inode -> i_mtime = inode_set_ctime_current (inode );
2458+ simple_inode_init_ts (inode );
24592459 inode -> i_generation = get_random_u32 ();
24602460 info = SHMEM_I (inode );
24612461 memset (info , 0 , (char * )inode - (char * )info );
24622462 spin_lock_init (& info -> lock );
24632463 atomic_set (& info -> stop_eviction , 0 );
24642464 info -> seals = F_SEAL_SEAL ;
24652465 info -> flags = flags & VM_NORESERVE ;
2466- info -> i_crtime = inode -> i_mtime ;
2466+ info -> i_crtime = inode_get_mtime ( inode ) ;
24672467 info -> fsflags = (dir == NULL ) ? 0 :
24682468 SHMEM_I (dir )-> fsflags & SHMEM_FL_INHERITED ;
24692469 if (info -> fsflags )
@@ -3229,7 +3229,7 @@ shmem_mknod(struct mnt_idmap *idmap, struct inode *dir,
32293229 goto out_iput ;
32303230
32313231 dir -> i_size += BOGO_DIRENT_SIZE ;
3232- dir -> i_mtime = inode_set_ctime_current (dir );
3232+ inode_set_mtime_to_ts ( dir , inode_set_ctime_current (dir ) );
32333233 inode_inc_iversion (dir );
32343234 d_instantiate (dentry , inode );
32353235 dget (dentry ); /* Extra count - pin the dentry in core */
@@ -3318,8 +3318,8 @@ static int shmem_link(struct dentry *old_dentry, struct inode *dir, struct dentr
33183318 }
33193319
33203320 dir -> i_size += BOGO_DIRENT_SIZE ;
3321- dir -> i_mtime = inode_set_ctime_to_ts (dir ,
3322- inode_set_ctime_current (inode ));
3321+ inode_set_mtime_to_ts (dir ,
3322+ inode_set_ctime_to_ts ( dir , inode_set_ctime_current (inode ) ));
33233323 inode_inc_iversion (dir );
33243324 inc_nlink (inode );
33253325 ihold (inode ); /* New dentry reference */
@@ -3339,8 +3339,8 @@ static int shmem_unlink(struct inode *dir, struct dentry *dentry)
33393339 simple_offset_remove (shmem_get_offset_ctx (dir ), dentry );
33403340
33413341 dir -> i_size -= BOGO_DIRENT_SIZE ;
3342- dir -> i_mtime = inode_set_ctime_to_ts (dir ,
3343- inode_set_ctime_current (inode ));
3342+ inode_set_mtime_to_ts (dir ,
3343+ inode_set_ctime_to_ts ( dir , inode_set_ctime_current (inode ) ));
33443344 inode_inc_iversion (dir );
33453345 drop_nlink (inode );
33463346 dput (dentry ); /* Undo the count from "create" - this does all the work */
@@ -3488,7 +3488,7 @@ static int shmem_symlink(struct mnt_idmap *idmap, struct inode *dir,
34883488 folio_put (folio );
34893489 }
34903490 dir -> i_size += BOGO_DIRENT_SIZE ;
3491- dir -> i_mtime = inode_set_ctime_current (dir );
3491+ inode_set_mtime_to_ts ( dir , inode_set_ctime_current (dir ) );
34923492 inode_inc_iversion (dir );
34933493 d_instantiate (dentry , inode );
34943494 dget (dentry );
0 commit comments