diff options
Diffstat (limited to 'fs/xfs/xfs_trans_inode.c')
-rw-r--r-- | fs/xfs/xfs_trans_inode.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/fs/xfs/xfs_trans_inode.c b/fs/xfs/xfs_trans_inode.c index b97f1df910ab..11a3af08b5c7 100644 --- a/fs/xfs/xfs_trans_inode.c +++ b/fs/xfs/xfs_trans_inode.c | |||
@@ -75,18 +75,10 @@ xfs_trans_ichgtime( | |||
75 | 75 | ||
76 | tv = current_fs_time(inode->i_sb); | 76 | tv = current_fs_time(inode->i_sb); |
77 | 77 | ||
78 | if ((flags & XFS_ICHGTIME_MOD) && | 78 | if (flags & XFS_ICHGTIME_MOD) |
79 | !timespec_equal(&inode->i_mtime, &tv)) { | ||
80 | inode->i_mtime = tv; | 79 | inode->i_mtime = tv; |
81 | ip->i_d.di_mtime.t_sec = tv.tv_sec; | 80 | if (flags & XFS_ICHGTIME_CHG) |
82 | ip->i_d.di_mtime.t_nsec = tv.tv_nsec; | ||
83 | } | ||
84 | if ((flags & XFS_ICHGTIME_CHG) && | ||
85 | !timespec_equal(&inode->i_ctime, &tv)) { | ||
86 | inode->i_ctime = tv; | 81 | inode->i_ctime = tv; |
87 | ip->i_d.di_ctime.t_sec = tv.tv_sec; | ||
88 | ip->i_d.di_ctime.t_nsec = tv.tv_nsec; | ||
89 | } | ||
90 | } | 82 | } |
91 | 83 | ||
92 | /* | 84 | /* |
@@ -125,7 +117,7 @@ xfs_trans_log_inode( | |||
125 | */ | 117 | */ |
126 | if (!(ip->i_itemp->ili_item.li_desc->lid_flags & XFS_LID_DIRTY) && | 118 | if (!(ip->i_itemp->ili_item.li_desc->lid_flags & XFS_LID_DIRTY) && |
127 | IS_I_VERSION(VFS_I(ip))) { | 119 | IS_I_VERSION(VFS_I(ip))) { |
128 | ip->i_d.di_changecount = ++VFS_I(ip)->i_version; | 120 | VFS_I(ip)->i_version++; |
129 | flags |= XFS_ILOG_CORE; | 121 | flags |= XFS_ILOG_CORE; |
130 | } | 122 | } |
131 | 123 | ||