@@ -1047,7 +1047,7 @@ static void shmem_undo_range(struct inode *inode, loff_t lstart, loff_t lend,
1047
1047
void shmem_truncate_range (struct inode * inode , loff_t lstart , loff_t lend )
1048
1048
{
1049
1049
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 );
1051
1051
inode_inc_iversion (inode );
1052
1052
}
1053
1053
EXPORT_SYMBOL_GPL (shmem_truncate_range );
@@ -1144,9 +1144,9 @@ static int shmem_setattr(struct mnt_idmap *idmap,
1144
1144
if (attr -> ia_valid & ATTR_MODE )
1145
1145
error = posix_acl_chmod (idmap , dentry , inode -> i_mode );
1146
1146
if (!error && update_ctime ) {
1147
- inode -> i_ctime = current_time (inode );
1147
+ inode_set_ctime_current (inode );
1148
1148
if (update_mtime )
1149
- inode -> i_mtime = inode -> i_ctime ;
1149
+ inode -> i_mtime = inode_get_ctime ( inode ) ;
1150
1150
inode_inc_iversion (inode );
1151
1151
}
1152
1152
return error ;
@@ -2372,7 +2372,7 @@ static struct inode *shmem_get_inode(struct mnt_idmap *idmap, struct super_block
2372
2372
inode -> i_ino = ino ;
2373
2373
inode_init_owner (idmap , inode , dir , mode );
2374
2374
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 );
2376
2376
inode -> i_generation = get_random_u32 ();
2377
2377
info = SHMEM_I (inode );
2378
2378
memset (info , 0 , (char * )inode - (char * )info );
@@ -3084,7 +3084,7 @@ shmem_mknod(struct mnt_idmap *idmap, struct inode *dir,
3084
3084
3085
3085
error = 0 ;
3086
3086
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 );
3088
3088
inode_inc_iversion (dir );
3089
3089
d_instantiate (dentry , inode );
3090
3090
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
3160
3160
}
3161
3161
3162
3162
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 ));
3164
3165
inode_inc_iversion (dir );
3165
3166
inc_nlink (inode );
3166
3167
ihold (inode ); /* New dentry reference */
@@ -3178,7 +3179,8 @@ static int shmem_unlink(struct inode *dir, struct dentry *dentry)
3178
3179
shmem_free_inode (inode -> i_sb );
3179
3180
3180
3181
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 ));
3182
3184
inode_inc_iversion (dir );
3183
3185
drop_nlink (inode );
3184
3186
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,
3320
3322
folio_put (folio );
3321
3323
}
3322
3324
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 );
3324
3326
inode_inc_iversion (dir );
3325
3327
d_instantiate (dentry , inode );
3326
3328
dget (dentry );
@@ -3392,7 +3394,7 @@ static int shmem_fileattr_set(struct mnt_idmap *idmap,
3392
3394
(fa -> flags & SHMEM_FL_USER_MODIFIABLE );
3393
3395
3394
3396
shmem_set_inode_flags (inode , info -> fsflags );
3395
- inode -> i_ctime = current_time (inode );
3397
+ inode_set_ctime_current (inode );
3396
3398
inode_inc_iversion (inode );
3397
3399
return 0 ;
3398
3400
}
@@ -3462,7 +3464,7 @@ static int shmem_xattr_handler_set(const struct xattr_handler *handler,
3462
3464
name = xattr_full_name (handler , name );
3463
3465
err = simple_xattr_set (& info -> xattrs , name , value , size , flags , NULL );
3464
3466
if (!err ) {
3465
- inode -> i_ctime = current_time (inode );
3467
+ inode_set_ctime_current (inode );
3466
3468
inode_inc_iversion (inode );
3467
3469
}
3468
3470
return err ;
0 commit comments