diff options
-rw-r--r-- | fs/xfs/xfs_trans_inode.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/xfs/xfs_trans_inode.c b/fs/xfs/xfs_trans_inode.c index 1bba7f60d94c..50c3f5614288 100644 --- a/fs/xfs/xfs_trans_inode.c +++ b/fs/xfs/xfs_trans_inode.c | |||
@@ -111,12 +111,14 @@ xfs_trans_log_inode( | |||
111 | 111 | ||
112 | /* | 112 | /* |
113 | * First time we log the inode in a transaction, bump the inode change | 113 | * First time we log the inode in a transaction, bump the inode change |
114 | * counter if it is configured for this to occur. | 114 | * counter if it is configured for this to occur. We don't use |
115 | * inode_inc_version() because there is no need for extra locking around | ||
116 | * i_version as we already hold the inode locked exclusively for | ||
117 | * metadata modification. | ||
115 | */ | 118 | */ |
116 | if (!(ip->i_itemp->ili_item.li_desc->lid_flags & XFS_LID_DIRTY) && | 119 | if (!(ip->i_itemp->ili_item.li_desc->lid_flags & XFS_LID_DIRTY) && |
117 | IS_I_VERSION(VFS_I(ip))) { | 120 | IS_I_VERSION(VFS_I(ip))) { |
118 | inode_inc_iversion(VFS_I(ip)); | 121 | ip->i_d.di_changecount = ++VFS_I(ip)->i_version; |
119 | ip->i_d.di_changecount = VFS_I(ip)->i_version; | ||
120 | flags |= XFS_ILOG_CORE; | 122 | flags |= XFS_ILOG_CORE; |
121 | } | 123 | } |
122 | 124 | ||