@@ -3771,10 +3771,8 @@ static int btrfs_read_locked_inode(struct inode *inode,
37713771 inode_set_ctime (inode , btrfs_timespec_sec (leaf , & inode_item -> ctime ),
37723772 btrfs_timespec_nsec (leaf , & inode_item -> ctime ));
37733773
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 );
37783776
37793777 inode_set_bytes (inode , btrfs_inode_nbytes (leaf , inode_item ));
37803778 BTRFS_I (inode )-> generation = btrfs_inode_generation (leaf , inode_item );
@@ -3944,10 +3942,8 @@ static void fill_inode_item(struct btrfs_trans_handle *trans,
39443942 btrfs_set_token_timespec_nsec (& token , & item -> ctime ,
39453943 inode_get_ctime (inode ).tv_nsec );
39463944
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 );
39513947
39523948 btrfs_set_token_inode_nbytes (& token , item , inode_get_bytes (inode ));
39533949 btrfs_set_token_inode_generation (& token , item ,
@@ -5609,7 +5605,8 @@ static struct inode *new_simple_dir(struct inode *dir,
56095605 inode -> i_mode = S_IFDIR | S_IRUGO | S_IWUSR | S_IXUGO ;
56105606 inode -> i_mtime = inode_set_ctime_current (inode );
56115607 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 ;
56135610 inode -> i_uid = dir -> i_uid ;
56145611 inode -> i_gid = dir -> i_gid ;
56155612
@@ -6286,7 +6283,8 @@ int btrfs_create_new_inode(struct btrfs_trans_handle *trans,
62866283
62876284 inode -> i_mtime = inode_set_ctime_current (inode );
62886285 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 ;
62906288
62916289 /*
62926290 * 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)
84878485
84888486 ei -> delayed_node = NULL ;
84898487
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 ;
84928490
84938491 inode = & ei -> vfs_inode ;
84948492 extent_map_tree_init (& ei -> extent_tree );
@@ -8642,8 +8640,8 @@ static int btrfs_getattr(struct mnt_idmap *idmap,
86428640 u32 bi_ro_flags = BTRFS_I (inode )-> ro_flags ;
86438641
86448642 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 ;
86478645 if (bi_flags & BTRFS_INODE_APPEND )
86488646 stat -> attributes |= STATX_ATTR_APPEND ;
86498647 if (bi_flags & BTRFS_INODE_COMPRESS )
0 commit comments