diff options
Diffstat (limited to 'fs/btrfs/delayed-inode.c')
-rw-r--r-- | fs/btrfs/delayed-inode.c | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c index de4e70fb3cbb..82f0c7c95474 100644 --- a/fs/btrfs/delayed-inode.c +++ b/fs/btrfs/delayed-inode.c | |||
@@ -1755,27 +1755,31 @@ static void fill_stack_inode_item(struct btrfs_trans_handle *trans, | |||
1755 | btrfs_set_stack_inode_flags(inode_item, BTRFS_I(inode)->flags); | 1755 | btrfs_set_stack_inode_flags(inode_item, BTRFS_I(inode)->flags); |
1756 | btrfs_set_stack_inode_block_group(inode_item, 0); | 1756 | btrfs_set_stack_inode_block_group(inode_item, 0); |
1757 | 1757 | ||
1758 | btrfs_set_stack_timespec_sec(btrfs_inode_atime(inode_item), | 1758 | btrfs_set_stack_timespec_sec(&inode_item->atime, |
1759 | inode->i_atime.tv_sec); | 1759 | inode->i_atime.tv_sec); |
1760 | btrfs_set_stack_timespec_nsec(btrfs_inode_atime(inode_item), | 1760 | btrfs_set_stack_timespec_nsec(&inode_item->atime, |
1761 | inode->i_atime.tv_nsec); | 1761 | inode->i_atime.tv_nsec); |
1762 | 1762 | ||
1763 | btrfs_set_stack_timespec_sec(btrfs_inode_mtime(inode_item), | 1763 | btrfs_set_stack_timespec_sec(&inode_item->mtime, |
1764 | inode->i_mtime.tv_sec); | 1764 | inode->i_mtime.tv_sec); |
1765 | btrfs_set_stack_timespec_nsec(btrfs_inode_mtime(inode_item), | 1765 | btrfs_set_stack_timespec_nsec(&inode_item->mtime, |
1766 | inode->i_mtime.tv_nsec); | 1766 | inode->i_mtime.tv_nsec); |
1767 | 1767 | ||
1768 | btrfs_set_stack_timespec_sec(btrfs_inode_ctime(inode_item), | 1768 | btrfs_set_stack_timespec_sec(&inode_item->ctime, |
1769 | inode->i_ctime.tv_sec); | 1769 | inode->i_ctime.tv_sec); |
1770 | btrfs_set_stack_timespec_nsec(btrfs_inode_ctime(inode_item), | 1770 | btrfs_set_stack_timespec_nsec(&inode_item->ctime, |
1771 | inode->i_ctime.tv_nsec); | 1771 | inode->i_ctime.tv_nsec); |
1772 | |||
1773 | btrfs_set_stack_timespec_sec(&inode_item->otime, | ||
1774 | BTRFS_I(inode)->i_otime.tv_sec); | ||
1775 | btrfs_set_stack_timespec_nsec(&inode_item->otime, | ||
1776 | BTRFS_I(inode)->i_otime.tv_nsec); | ||
1772 | } | 1777 | } |
1773 | 1778 | ||
1774 | int btrfs_fill_inode(struct inode *inode, u32 *rdev) | 1779 | int btrfs_fill_inode(struct inode *inode, u32 *rdev) |
1775 | { | 1780 | { |
1776 | struct btrfs_delayed_node *delayed_node; | 1781 | struct btrfs_delayed_node *delayed_node; |
1777 | struct btrfs_inode_item *inode_item; | 1782 | struct btrfs_inode_item *inode_item; |
1778 | struct btrfs_timespec *tspec; | ||
1779 | 1783 | ||
1780 | delayed_node = btrfs_get_delayed_node(inode); | 1784 | delayed_node = btrfs_get_delayed_node(inode); |
1781 | if (!delayed_node) | 1785 | if (!delayed_node) |
@@ -1802,17 +1806,19 @@ int btrfs_fill_inode(struct inode *inode, u32 *rdev) | |||
1802 | *rdev = btrfs_stack_inode_rdev(inode_item); | 1806 | *rdev = btrfs_stack_inode_rdev(inode_item); |
1803 | BTRFS_I(inode)->flags = btrfs_stack_inode_flags(inode_item); | 1807 | BTRFS_I(inode)->flags = btrfs_stack_inode_flags(inode_item); |
1804 | 1808 | ||
1805 | tspec = btrfs_inode_atime(inode_item); | 1809 | inode->i_atime.tv_sec = btrfs_stack_timespec_sec(&inode_item->atime); |
1806 | inode->i_atime.tv_sec = btrfs_stack_timespec_sec(tspec); | 1810 | inode->i_atime.tv_nsec = btrfs_stack_timespec_nsec(&inode_item->atime); |
1807 | inode->i_atime.tv_nsec = btrfs_stack_timespec_nsec(tspec); | 1811 | |
1812 | inode->i_mtime.tv_sec = btrfs_stack_timespec_sec(&inode_item->mtime); | ||
1813 | inode->i_mtime.tv_nsec = btrfs_stack_timespec_nsec(&inode_item->mtime); | ||
1808 | 1814 | ||
1809 | tspec = btrfs_inode_mtime(inode_item); | 1815 | inode->i_ctime.tv_sec = btrfs_stack_timespec_sec(&inode_item->ctime); |
1810 | inode->i_mtime.tv_sec = btrfs_stack_timespec_sec(tspec); | 1816 | inode->i_ctime.tv_nsec = btrfs_stack_timespec_nsec(&inode_item->ctime); |
1811 | inode->i_mtime.tv_nsec = btrfs_stack_timespec_nsec(tspec); | ||
1812 | 1817 | ||
1813 | tspec = btrfs_inode_ctime(inode_item); | 1818 | BTRFS_I(inode)->i_otime.tv_sec = |
1814 | inode->i_ctime.tv_sec = btrfs_stack_timespec_sec(tspec); | 1819 | btrfs_stack_timespec_sec(&inode_item->otime); |
1815 | inode->i_ctime.tv_nsec = btrfs_stack_timespec_nsec(tspec); | 1820 | BTRFS_I(inode)->i_otime.tv_nsec = |
1821 | btrfs_stack_timespec_nsec(&inode_item->otime); | ||
1816 | 1822 | ||
1817 | inode->i_generation = BTRFS_I(inode)->generation; | 1823 | inode->i_generation = BTRFS_I(inode)->generation; |
1818 | BTRFS_I(inode)->index_cnt = (u64)-1; | 1824 | BTRFS_I(inode)->index_cnt = (u64)-1; |