Lines Matching defs:tvp
144 * . tvp (to vnode, or NULL), and
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.
178 struct vnode *tvp = ap->a_tvp;
193 KASSERT((tvp == NULL) || (VOP_ISLOCKED(tvp) == LK_EXCLUSIVE));
214 if ((tvp != NULL) && (tvp != tdvp))
215 VOP_UNLOCK(tvp);
218 if (tvp != NULL)
219 vrele(tvp);
249 struct vnode *fvp = NULL, *tvp = NULL;
283 tdvp, tcnp, tde, &tvp);
294 KASSERT((tvp == NULL) || (VOP_ISLOCKED(tvp) == LK_EXCLUSIVE));
301 if (fvp == tvp) {
302 KASSERT(tvp != NULL);
325 KASSERT(fvp != tvp);
336 if (tvp != NULL) {
337 if (fvp->v_type == VDIR && tvp->v_type == VDIR)
339 (ops->gro_directory_empty_p(mp, cred, tvp, tdvp)?
341 else if (fvp->v_type == VDIR && tvp->v_type != VDIR)
343 else if (fvp->v_type != VDIR && tvp->v_type == VDIR)
349 KASSERT((fvp->v_type == VDIR) == (tvp->v_type == VDIR));
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);
388 * the resulting link count of tvp.
392 struct vnode *tdvp, struct vnode *tvp, nlink_t tvp_new_nlink)
401 KASSERT(fdvp != tvp);
403 KASSERT(tdvp != tvp);
404 KASSERT(fvp != tvp);
408 KASSERT((tvp == NULL) || (VOP_ISLOCKED(tvp) == LK_EXCLUSIVE));
412 replaced_p = (tvp != NULL);
414 KASSERT((tvp == NULL) || (directory_p == (tvp->v_type == VDIR)));
434 VN_KNOTE(tvp, (tvp_new_nlink == 0 ? NOTE_DELETE : NOTE_LINK));
444 struct vnode *tdvp, struct vnode *tvp)
451 KASSERT(fdvp != tvp);
453 KASSERT(tdvp != tvp);
454 KASSERT(fvp != tvp);
470 if ((tvp != NULL) && (tvp->v_type == VDIR))
471 cache_purge(tvp);
488 * identical are {fdvp, tdvp} and {fvp, tvp}.
554 struct vnode *fvp, *tvp;
592 error = ops->gro_lookup(mp, dvp, tcnp, tde_ret, &tvp);
594 tvp = NULL;
598 KASSERT(tvp != NULL);
601 if (tvp == dvp) {
606 KASSERT(tvp != dvp);
620 if ((tvp != NULL) && (tvp != fvp)) {
621 vn_lock(tvp, LK_EXCLUSIVE | LK_RETRY);
622 KASSERT(tvp->v_mount == mp);
624 if ((tvp->v_type == VDIR) && (tvp->v_mountedhere != NULL)) {
632 KASSERT((tvp == NULL) || (VOP_ISLOCKED(tvp) == LK_EXCLUSIVE));
635 *tvp_ret = tvp;
638 fail4: if ((tvp != NULL) && (tvp != fvp))
639 VOP_UNLOCK(tvp);
641 if (tvp != NULL)
642 vrele(tvp);
661 struct vnode *fvp, *tvp;
692 tdvp, tcnp, true, tde_ret, &tvp,
698 tdvp, tcnp, true, tde_ret, &tvp);
708 genfs_rename_exit(ops, mp, fdvp, fvp, tdvp, tvp);
714 *tvp_ret = tvp;
965 * On entry, everything is locked, and fvp and tvp referenced.
967 * On exit, everything is unlocked, and fvp and tvp are released.
973 struct vnode *tdvp, struct vnode *tvp)
982 KASSERT(fdvp != tvp);
983 KASSERT(tdvp != tvp);
988 KASSERT((tvp == NULL) || (VOP_ISLOCKED(tvp) == LK_EXCLUSIVE));
990 if ((tvp != NULL) && (tvp != fvp))
991 VOP_UNLOCK(tvp);
993 if (tvp != NULL)
994 vrele(tvp);
1087 struct vnode *tvp, uid_t tuid)
1095 KASSERT(fdvp != tvp);
1097 KASSERT(tdvp != tvp);
1098 KASSERT(fvp != tvp);
1103 KASSERT((tvp == NULL) || (fdvp->v_mount == tvp->v_mount));
1107 KASSERT((tvp == NULL) || (VOP_ISLOCKED(tvp) == LK_EXCLUSIVE));
1137 error = genfs_ufslike_check_sticky(cred, tdmode, tduid, tvp, tuid);