mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-03-06 19:51:13 +00:00
ocfs2: Move ocfs2_complete_reflink to the right place.
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>
This commit is contained in:
parent
fb5cbe9efd
commit
87f4b1bb98
@ -4013,10 +4013,6 @@ static int ocfs2_create_reflink_node(struct inode *s_inode,
|
|||||||
goto out_unlock_refcount;
|
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:
|
out_unlock_refcount:
|
||||||
ocfs2_unlock_refcount_tree(osb, ref_tree, 1);
|
ocfs2_unlock_refcount_tree(osb, ref_tree, 1);
|
||||||
brelse(ref_root_bh);
|
brelse(ref_root_bh);
|
||||||
@ -4068,9 +4064,17 @@ static int __ocfs2_reflink(struct dentry *old_dentry,
|
|||||||
ret = ocfs2_reflink_xattrs(inode, old_bh,
|
ret = ocfs2_reflink_xattrs(inode, old_bh,
|
||||||
new_inode, new_bh,
|
new_inode, new_bh,
|
||||||
preserve);
|
preserve);
|
||||||
if (ret)
|
if (ret) {
|
||||||
mlog_errno(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:
|
inode_unlock:
|
||||||
ocfs2_inode_unlock(new_inode, 1);
|
ocfs2_inode_unlock(new_inode, 1);
|
||||||
brelse(new_bh);
|
brelse(new_bh);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user