Commit d3c6be6f authored by Arnd Bergmann's avatar Arnd Bergmann Committed by David Sterba
Browse files

btrfs: use timespec64 for i_otime



While the regular inode timestamps all use timespec64 now, the i_otime
field is btrfs specific and still needs to be converted to correctly
represent times beyond 2038.

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Reviewed-by: default avatarNikolay Borisov <nborisov@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent afd48513
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -178,7 +178,7 @@ struct btrfs_inode {
	struct btrfs_delayed_node *delayed_node;

	/* File creation time. */
	struct timespec i_otime;
	struct timespec64 i_otime;

	/* Hook into fs_info->delayed_iputs */
	struct list_head delayed_iput;
+2 −2
Original line number Diff line number Diff line
@@ -5744,7 +5744,7 @@ static struct inode *new_simple_dir(struct super_block *s,
	inode->i_mtime = current_time(inode);
	inode->i_atime = inode->i_mtime;
	inode->i_ctime = inode->i_mtime;
	BTRFS_I(inode)->i_otime = timespec64_to_timespec(inode->i_mtime);
	BTRFS_I(inode)->i_otime = inode->i_mtime;

	return inode;
}
@@ -6348,7 +6348,7 @@ static struct inode *btrfs_new_inode(struct btrfs_trans_handle *trans,
	inode->i_mtime = current_time(inode);
	inode->i_atime = inode->i_mtime;
	inode->i_ctime = inode->i_mtime;
	BTRFS_I(inode)->i_otime = timespec64_to_timespec(inode->i_mtime);
	BTRFS_I(inode)->i_otime = inode->i_mtime;

	inode_item = btrfs_item_ptr(path->nodes[0], path->slots[0],
				  struct btrfs_inode_item);