Lines Matching defs:b_dvp
725 * a_dvp -> a_vp -> b_dvp -> b_vp,
729 * a_dvp -> b_dvp -> b_vp -> a_vp,
738 * b_dvp must not be an ancestor of a_dvp, although a_dvp may be an
739 * ancestor of b_dvp.
744 * a_dvp and b_dvp must be referenced.
746 * On entry, a_dvp and b_dvp are unlocked.
749 * . a_dvp and b_dvp are locked,
759 * On failure, a_dvp and b_dvp are left unlocked, and *a_dirent_ret,
768 struct vnode *b_dvp, struct componentname *b_cnp, bool b_missing_ok,
779 KASSERT(b_dvp != NULL);
782 KASSERT(a_dvp != b_dvp);
785 KASSERT(b_dvp->v_type == VDIR);
787 KASSERT(b_dvp->v_mount == mp);
822 if (a_vp == b_dvp) {
829 KASSERT(a_vp != b_dvp);
836 * a_vp == b_dvp, so this won't cause subsequent locking of
837 * b_dvp to lock against self.
858 * 4. Lock b_dvp.
860 error = ops->gro_lock_directory(mp, b_dvp);
865 if (b_dvp->v_mountedhere != NULL) {
873 error = ops->gro_lookup(mp, b_dvp, b_cnp, b_de_ret, &b_vp);
883 if (b_vp == b_dvp) {
889 * b_dvp must not be an ancestor of a_dvp, so if we
890 * find b_dvp/b_vp=a_dvp/a_vp something is wrong.
902 KASSERT(b_vp != b_dvp);
935 KASSERT(VOP_ISLOCKED(b_dvp) == LK_EXCLUSIVE);
951 fail4: VOP_UNLOCK(b_dvp);