diff options
-rw-r--r-- | fs/ocfs2/refcounttree.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/fs/ocfs2/refcounttree.c b/fs/ocfs2/refcounttree.c index 60287fc56bcb..9d439b277304 100644 --- a/fs/ocfs2/refcounttree.c +++ b/fs/ocfs2/refcounttree.c | |||
@@ -4013,10 +4013,6 @@ static int ocfs2_create_reflink_node(struct inode *s_inode, | |||
4013 | goto out_unlock_refcount; | 4013 | goto out_unlock_refcount; |
4014 | } | 4014 | } |
4015 | 4015 | ||
4016 | ret = ocfs2_complete_reflink(s_inode, s_bh, t_inode, t_bh, preserve); | ||
4017 | if (ret) | ||
4018 | mlog_errno(ret); | ||
4019 | |||
4020 | out_unlock_refcount: | 4016 | out_unlock_refcount: |
4021 | ocfs2_unlock_refcount_tree(osb, ref_tree, 1); | 4017 | ocfs2_unlock_refcount_tree(osb, ref_tree, 1); |
4022 | brelse(ref_root_bh); | 4018 | brelse(ref_root_bh); |
@@ -4068,9 +4064,17 @@ static int __ocfs2_reflink(struct dentry *old_dentry, | |||
4068 | ret = ocfs2_reflink_xattrs(inode, old_bh, | 4064 | ret = ocfs2_reflink_xattrs(inode, old_bh, |
4069 | new_inode, new_bh, | 4065 | new_inode, new_bh, |
4070 | preserve); | 4066 | preserve); |
4071 | if (ret) | 4067 | if (ret) { |
4072 | mlog_errno(ret); | 4068 | mlog_errno(ret); |
4069 | goto inode_unlock; | ||
4070 | } | ||
4073 | } | 4071 | } |
4072 | |||
4073 | ret = ocfs2_complete_reflink(inode, old_bh, | ||
4074 | new_inode, new_bh, preserve); | ||
4075 | if (ret) | ||
4076 | mlog_errno(ret); | ||
4077 | |||
4074 | inode_unlock: | 4078 | inode_unlock: |
4075 | ocfs2_inode_unlock(new_inode, 1); | 4079 | ocfs2_inode_unlock(new_inode, 1); |
4076 | brelse(new_bh); | 4080 | brelse(new_bh); |