@@ -3771,10 +3771,8 @@ static int btrfs_read_locked_inode(struct inode *inode,
3771
3771
inode_set_ctime (inode , btrfs_timespec_sec (leaf , & inode_item -> ctime ),
3772
3772
btrfs_timespec_nsec (leaf , & inode_item -> ctime ));
3773
3773
3774
- BTRFS_I (inode )-> i_otime .tv_sec =
3775
- btrfs_timespec_sec (leaf , & inode_item -> otime );
3776
- BTRFS_I (inode )-> i_otime .tv_nsec =
3777
- btrfs_timespec_nsec (leaf , & inode_item -> otime );
3774
+ BTRFS_I (inode )-> i_otime_sec = btrfs_timespec_sec (leaf , & inode_item -> otime );
3775
+ BTRFS_I (inode )-> i_otime_nsec = btrfs_timespec_nsec (leaf , & inode_item -> otime );
3778
3776
3779
3777
inode_set_bytes (inode , btrfs_inode_nbytes (leaf , inode_item ));
3780
3778
BTRFS_I (inode )-> generation = btrfs_inode_generation (leaf , inode_item );
@@ -3944,10 +3942,8 @@ static void fill_inode_item(struct btrfs_trans_handle *trans,
3944
3942
btrfs_set_token_timespec_nsec (& token , & item -> ctime ,
3945
3943
inode_get_ctime (inode ).tv_nsec );
3946
3944
3947
- btrfs_set_token_timespec_sec (& token , & item -> otime ,
3948
- BTRFS_I (inode )-> i_otime .tv_sec );
3949
- btrfs_set_token_timespec_nsec (& token , & item -> otime ,
3950
- BTRFS_I (inode )-> i_otime .tv_nsec );
3945
+ btrfs_set_token_timespec_sec (& token , & item -> otime , BTRFS_I (inode )-> i_otime_sec );
3946
+ btrfs_set_token_timespec_nsec (& token , & item -> otime , BTRFS_I (inode )-> i_otime_nsec );
3951
3947
3952
3948
btrfs_set_token_inode_nbytes (& token , item , inode_get_bytes (inode ));
3953
3949
btrfs_set_token_inode_generation (& token , item ,
@@ -5609,7 +5605,8 @@ static struct inode *new_simple_dir(struct inode *dir,
5609
5605
inode -> i_mode = S_IFDIR | S_IRUGO | S_IWUSR | S_IXUGO ;
5610
5606
inode -> i_mtime = inode_set_ctime_current (inode );
5611
5607
inode -> i_atime = dir -> i_atime ;
5612
- BTRFS_I (inode )-> i_otime = inode -> i_mtime ;
5608
+ BTRFS_I (inode )-> i_otime_sec = inode -> i_mtime .tv_sec ;
5609
+ BTRFS_I (inode )-> i_otime_nsec = inode -> i_mtime .tv_nsec ;
5613
5610
inode -> i_uid = dir -> i_uid ;
5614
5611
inode -> i_gid = dir -> i_gid ;
5615
5612
@@ -6286,7 +6283,8 @@ int btrfs_create_new_inode(struct btrfs_trans_handle *trans,
6286
6283
6287
6284
inode -> i_mtime = inode_set_ctime_current (inode );
6288
6285
inode -> i_atime = inode -> i_mtime ;
6289
- BTRFS_I (inode )-> i_otime = inode -> i_mtime ;
6286
+ BTRFS_I (inode )-> i_otime_sec = inode -> i_mtime .tv_sec ;
6287
+ BTRFS_I (inode )-> i_otime_nsec = inode -> i_mtime .tv_nsec ;
6290
6288
6291
6289
/*
6292
6290
* We're going to fill the inode item now, so at this point the inode
@@ -8487,8 +8485,8 @@ struct inode *btrfs_alloc_inode(struct super_block *sb)
8487
8485
8488
8486
ei -> delayed_node = NULL ;
8489
8487
8490
- ei -> i_otime . tv_sec = 0 ;
8491
- ei -> i_otime . tv_nsec = 0 ;
8488
+ ei -> i_otime_sec = 0 ;
8489
+ ei -> i_otime_nsec = 0 ;
8492
8490
8493
8491
inode = & ei -> vfs_inode ;
8494
8492
extent_map_tree_init (& ei -> extent_tree );
@@ -8642,8 +8640,8 @@ static int btrfs_getattr(struct mnt_idmap *idmap,
8642
8640
u32 bi_ro_flags = BTRFS_I (inode )-> ro_flags ;
8643
8641
8644
8642
stat -> result_mask |= STATX_BTIME ;
8645
- stat -> btime .tv_sec = BTRFS_I (inode )-> i_otime . tv_sec ;
8646
- stat -> btime .tv_nsec = BTRFS_I (inode )-> i_otime . tv_nsec ;
8643
+ stat -> btime .tv_sec = BTRFS_I (inode )-> i_otime_sec ;
8644
+ stat -> btime .tv_nsec = BTRFS_I (inode )-> i_otime_nsec ;
8647
8645
if (bi_flags & BTRFS_INODE_APPEND )
8648
8646
stat -> attributes |= STATX_ATTR_APPEND ;
8649
8647
if (bi_flags & BTRFS_INODE_COMPRESS )
0 commit comments