Lines Matching defs:tdvp
4438 struct vnode *tdvp, *tvp;
4531 * Pull out the important results of the lookup, tdvp and tvp.
4532 * Of course, tvp is bogus because we're about to unlock tdvp.
4534 tdvp = tnd.ni_dvp;
4536 KASSERT(tdvp != NULL);
4537 KASSERT(tdvp == tvp || VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
4542 * Make sure neither tdvp nor tvp is locked.
4544 if (tdvp != tvp)
4545 VOP_UNLOCK(tdvp);
4546 /* XXX KASSERT(VOP_ISLOCKED(tdvp) != LK_EXCLUSIVE); */
4574 * cause tdvp to disappear and change its v_mount to dead.
4579 tmp = tdvp->v_mount;
4595 * Now fdvp, fvp, tdvp, and (if nonnull) tvp are referenced,
4602 * We need tdvp and tvp to be locked. However, because we have
4603 * unlocked tdvp in order to hold no locks while we take the
4606 * it straight away. Consequently, we must lock tdvp and then
4614 vn_lock(tdvp, LK_EXCLUSIVE | LK_RETRY);
4615 error = relookup(tdvp, &tnd.ni_vp, &tnd.ni_cnd, 0);
4621 * the same, but that doesn't matter to us. After this, tdvp
4627 KASSERT(VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
4658 if (fvp == tdvp) {
4673 } else if (fdvp == tdvp &&
4716 KASSERT(VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
4718 error = VOP_RENAME(fdvp, fvp, &fnd.ni_cnd, tdvp, tvp, &tnd.ni_cnd);
4721 * VOP_RENAME releases fdvp, fvp, tdvp, and tvp, and unlocks
4722 * tdvp and tvp. But we can't assert any of that.
4726 /* XXX KASSERT(VOP_ISLOCKED(tdvp) != LK_EXCLUSIVE); */
4737 abort3: if (tvp != NULL && tvp != tdvp)
4739 abort2: VOP_UNLOCK(tdvp);
4741 abort1: VOP_ABORTOP(tdvp, &tnd.ni_cnd);
4742 vrele(tdvp);