Lines Matching defs:tdvp
73 * . tdvp (to directory vnode),
78 * fdvp and tdvp may be the same, and must be referenced and unlocked.
83 struct vnode *tdvp, struct componentname *tcnp,
89 fdvp, fcnp, &fulr, tdvp, tcnp, &tulr,
143 * . tdvp (to directory vnode),
151 * . fdvp, fvp, tdvp, and tvp are referenced,
153 * . tdvp and tvp (if nonnull) are locked.
157 * . fdvp, fvp, tdvp, and tvp (if nonnull) are unreferenced, and
158 * . tdvp and tvp (if nonnull) are unlocked.
163 struct vnode *tdvp, struct componentname *tcnp,
177 struct vnode *tdvp = ap->a_tdvp;
187 KASSERT(tdvp != NULL);
192 KASSERT(VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
195 KASSERT(tdvp->v_type == VDIR);
213 VOP_UNLOCK(tdvp);
214 if ((tvp != NULL) && (tvp != tdvp))
221 error = (*sane_rename)(fdvp, fcnp, tdvp, tcnp, cred, false);
229 vrele(tdvp);
240 * fdvp and tdvp must be referenced and unlocked.
245 struct vnode *tdvp, struct componentname *tcnp, void *tde,
256 KASSERT(tdvp != NULL);
259 /* KASSERT(VOP_ISLOCKED(tdvp) != LK_EXCLUSIVE); */
261 KASSERT(tdvp->v_type == VDIR);
262 KASSERT(fdvp->v_mount == tdvp->v_mount);
273 KASSERT(mp == tdvp->v_mount);
283 tdvp, tcnp, tde, &tvp);
293 KASSERT(VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
309 else if ((fdvp == tdvp) &&
326 KASSERT((fdvp != tdvp) ||
339 (ops->gro_directory_empty_p(mp, cred, tvp, tdvp)?
355 error = ops->gro_rename_check_possible(mp, fdvp, fvp, tdvp, tvp);
358 error = ops->gro_rename_check_permitted(mp, cred, fdvp, fvp, tdvp, tvp);
361 error = kauth_authorize_vnode(cred, KAUTH_VNODE_RENAME, tvp, tdvp,
371 tdvp, tcnp, tde, tvp,
377 genfs_rename_knote(fdvp, fvp, tdvp, tvp, tvp_new_nlink);
380 genfs_rename_exit(ops, mp, fdvp, fvp, tdvp, tvp);
387 * vnodes that may be identical is {fdvp, tdvp}. tvp_new_nlink is
392 struct vnode *tdvp, struct vnode *tvp, nlink_t tvp_new_nlink)
399 KASSERT(tdvp != NULL);
402 KASSERT(tdvp != fvp);
403 KASSERT(tdvp != tvp);
407 KASSERT(VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
411 reparent_p = (fdvp != tdvp);
430 VN_KNOTE(tdvp, tdvp_events);
440 * identical is {fdvp, tdvp}.
444 struct vnode *tdvp, struct vnode *tvp)
449 KASSERT(tdvp != NULL);
452 KASSERT(tdvp != fvp);
453 KASSERT(tdvp != tvp);
456 KASSERT(tdvp->v_type == VDIR);
467 if (tdvp != fdvp)
468 cache_purge(tdvp);
477 * not found. Look up tcnp in tdvp, and store the lookup results in
482 * fdvp and tdvp must be referenced.
488 * identical are {fdvp, tdvp} and {fvp, tvp}.
502 struct vnode *tdvp, struct componentname *tcnp,
511 KASSERT(tdvp != NULL);
516 KASSERT(tdvp->v_type == VDIR);
518 KASSERT(tdvp->v_mount == mp);
520 if (fdvp == tdvp)
527 tdvp, tcnp, tde_ret, tvp_ret);
536 KASSERT(*fvp_ret != tdvp);
538 KASSERT(*tvp_ret != tdvp);
657 struct vnode *tdvp, struct componentname *tcnp,
669 KASSERT(tdvp != NULL);
672 KASSERT(fdvp != tdvp);
678 KASSERT(tdvp->v_type == VDIR);
680 KASSERT(tdvp->v_mount == mp);
682 error = ops->gro_genealogy(mp, cred, fdvp, tdvp, &intermediate_node);
687 * intermediate_node == NULL means fdvp is not an ancestor of tdvp.
692 tdvp, tcnp, true, tde_ret, &tvp,
698 tdvp, tcnp, true, tde_ret, &tvp);
708 genfs_rename_exit(ops, mp, fdvp, fvp, tdvp, tvp);
963 * fdvp and tdvp must be referenced.
973 struct vnode *tdvp, struct vnode *tvp)
983 KASSERT(tdvp != tvp);
984 KASSERT(tdvp != fvp);
986 KASSERT(VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
995 if (tdvp != fdvp)
996 VOP_UNLOCK(tdvp);
1078 * The only pair of vnodes that may be identical is {fdvp, tdvp}.
1086 struct vnode *tdvp, mode_t tdmode, uid_t tduid,
1093 KASSERT(tdvp != NULL);
1096 KASSERT(tdvp != fvp);
1097 KASSERT(tdvp != tvp);
1100 KASSERT(tdvp->v_type == VDIR);
1102 KASSERT(fdvp->v_mount == tdvp->v_mount);
1106 KASSERT(VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
1122 if (fdvp != tdvp) {
1123 error = VOP_ACCESS(tdvp, VWRITE, cred);