79 for (i = 0; i < *num_inodes; i++) {
80 for (j = 1; j < *num_inodes; j++) {
81 if (i_tab[j]->i_ino < i_tab[j-1]->i_ino) {
83 i_tab[
j] = i_tab[j-1];
98 xfs_inode_t *target_dp,
100 xfs_inode_t *target_ip)
102 xfs_trans_t *tp =
NULL;
103 xfs_mount_t *
mp = src_dp->i_mount;
105 int src_is_directory;
111 xfs_inode_t *inodes[4];
115 trace_xfs_rename(src_dp, target_dp, src_name, target_name);
117 new_parent = (src_dp != target_dp);
118 src_is_directory =
S_ISDIR(src_ip->i_d.di_mode);
121 inodes, &num_inodes);
123 xfs_bmap_init(&free_list, &first_block);
174 (xfs_get_projid(target_dp) != xfs_get_projid(src_ip)))) {
182 if (target_ip ==
NULL) {
196 src_ip->i_ino, &first_block,
197 &free_list, spaceres);
206 if (new_parent && src_is_directory) {
217 if (
S_ISDIR(target_ip->i_d.di_mode)) {
222 (target_ip->i_d.di_nlink > 2)) {
239 &first_block, &free_list, spaceres);
254 if (src_is_directory) {
267 if (new_parent && src_is_directory) {
274 &first_block, &free_list, spaceres);
295 if (src_is_directory && (new_parent || target_ip !=
NULL)) {
307 &first_block, &free_list, spaceres);
321 if (mp->m_flags & (XFS_MOUNT_WSYNC|XFS_MOUNT_DIRSYNC)) {
322 xfs_trans_set_sync(tp);