summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@kernel.org>2021-09-01 11:07:36 -0700
committerDarrick J. Wong <djwong@kernel.org>2021-09-17 18:55:04 -0700
commit45de2f720c33c109b74a260bdf37cba4b3775978 (patch)
tree0b49d46ee34a03e6b64fc12e6181d7b7667da385
parentc4d0895025c94d88ad650cb50953bcc91128dc2f (diff)
xfs: get rid of cross_renameinode-refactor_2021-09-17
Get rid of the largely pointless xfs_cross_rename now that we've refactored its parent. Signed-off-by: Darrick J. Wong <djwong@kernel.org>
-rw-r--r--fs/xfs/xfs_inode.c44
1 files changed, 6 insertions, 38 deletions
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c
index 5fa109d7f01f..9fac575f7f42 100644
--- a/fs/xfs/xfs_inode.c
+++ b/fs/xfs/xfs_inode.c
@@ -2190,36 +2190,6 @@ xfs_finish_rename(
}
/*
- * xfs_cross_rename()
- *
- * responsible for handling RENAME_EXCHANGE flag in renameat2() syscall
- */
-STATIC int
-xfs_cross_rename(
- struct xfs_trans *tp,
- struct xfs_inode *dp1,
- struct xfs_name *name1,
- struct xfs_inode *ip1,
- struct xfs_inode *dp2,
- struct xfs_name *name2,
- struct xfs_inode *ip2,
- int spaceres)
-{
- int error;
-
- error = xfs_dir_exchange(tp, dp1, name1, ip1, dp2, name2, ip2,
- spaceres);
- if (error)
- goto out_trans_abort;
-
- return xfs_finish_rename(tp);
-
-out_trans_abort:
- xfs_trans_cancel(tp);
- return error;
-}
-
-/*
* xfs_rename_alloc_whiteout()
*
* Return a referenced, unlinked, unlocked inode that can be used as a
@@ -2356,12 +2326,6 @@ xfs_rename(
goto out_trans_cancel;
}
- /* RENAME_EXCHANGE is unique from here on. */
- if (flags & RENAME_EXCHANGE)
- return xfs_cross_rename(tp, src_dp, src_name, src_ip,
- target_dp, target_name, target_ip,
- spaceres);
-
/*
* Lock the AGI buffers we need to handle bumping the nlink of the
* whiteout inode off the unlinked list and to handle dropping the
@@ -2386,8 +2350,12 @@ xfs_rename(
}
}
- error = xfs_dir_rename(tp, src_dp, src_name, src_ip, target_dp,
- target_name, target_ip, spaceres, wip);
+ if (flags & RENAME_EXCHANGE)
+ error = xfs_dir_exchange(tp, src_dp, src_name, src_ip,
+ target_dp, target_name, target_ip, spaceres);
+ else
+ error = xfs_dir_rename(tp, src_dp, src_name, src_ip, target_dp,
+ target_name, target_ip, spaceres, wip);
if (error)
goto out_trans_cancel;