Skip to content

Commit

Permalink
ocfs2: Move ocfs2_complete_reflink to the right place.
Browse files Browse the repository at this point in the history
As its name ocfs2_complete_reflink indicates, it should
be called after all the work for reflink is done, so
it really should be called after we reflink xattr
successfully.

Signed-off-by: Tao Ma <tao.ma@oracle.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Tested-by: Tristan Ye <tristan.ye@oracle.com>
  • Loading branch information
Tao Ma authored and Joel Becker committed Oct 29, 2009
1 parent fb5cbe9 commit 87f4b1b
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions fs/ocfs2/refcounttree.c
Original file line number Diff line number Diff line change
Expand Up @@ -4013,10 +4013,6 @@ static int ocfs2_create_reflink_node(struct inode *s_inode,
goto out_unlock_refcount;
}

ret = ocfs2_complete_reflink(s_inode, s_bh, t_inode, t_bh, preserve);
if (ret)
mlog_errno(ret);

out_unlock_refcount:
ocfs2_unlock_refcount_tree(osb, ref_tree, 1);
brelse(ref_root_bh);
Expand Down Expand Up @@ -4068,9 +4064,17 @@ static int __ocfs2_reflink(struct dentry *old_dentry,
ret = ocfs2_reflink_xattrs(inode, old_bh,
new_inode, new_bh,
preserve);
if (ret)
if (ret) {
mlog_errno(ret);
goto inode_unlock;
}
}

ret = ocfs2_complete_reflink(inode, old_bh,
new_inode, new_bh, preserve);
if (ret)
mlog_errno(ret);

inode_unlock:
ocfs2_inode_unlock(new_inode, 1);
brelse(new_bh);
Expand Down

0 comments on commit 87f4b1b

Please sign in to comment.