Lines Matching defs:dvp
132 unionfs_get_hashhead(struct vnode *dvp, struct vnode *lookup)
136 unp = VTOUNIONFS(dvp);
143 * from dvp, with dvp's interlock held.
146 unionfs_get_cached_vnode_locked(struct vnode *lookup, struct vnode *dvp)
152 hd = unionfs_get_hashhead(dvp, lookup);
181 struct vnode *dvp)
186 VI_LOCK(dvp);
188 vp = unionfs_get_cached_vnode_locked(uvp, dvp);
190 vp = unionfs_get_cached_vnode_locked(lvp, dvp);
191 VI_UNLOCK(dvp);
201 struct vnode *dvp)
207 VI_LOCK(dvp);
212 vp = unionfs_get_cached_vnode_locked(uncp->un_uppervp, dvp);
217 vp = unionfs_get_cached_vnode_locked(uncp->un_lowervp, dvp);
220 hd = unionfs_get_hashhead(dvp, (uncp->un_uppervp != NULLVP ?
224 VI_UNLOCK(dvp);
233 unionfs_rem_cached_vnode(struct unionfs_node *unp, struct vnode *dvp)
236 KASSERT(dvp != NULLVP,
239 VI_LOCK(dvp);
245 VI_UNLOCK(dvp);
300 struct vnode *lowervp, struct vnode *dvp, struct vnode **vpp,
328 if (dvp != NULLVP && vt == VDIR) {
329 vp = unionfs_get_cached_vnode(uppervp, lowervp, dvp);
346 if (dvp != NULLVP)
347 vref(dvp);
363 unp->un_dvp = dvp;
389 KASSERT(dvp != NULL || (vp->v_vflag & VV_ROOT) != 0,
390 ("%s: NULL dvp for non-root vp %p", __func__, vp));
395 * If dvp has an upper FS component and is locked, while the new vnode
436 if (dvp != NULLVP && vt == VDIR)
437 *vpp = unionfs_ins_cached_vnode(unp, dvp);
465 struct vnode *dvp;
486 dvp = unp->un_dvp;
553 if (dvp != NULLVP)
554 unionfs_rem_cached_vnode(unp, dvp);
570 if (dvp != NULLVP) {
711 * dvp should be locked on entry and will be locked on return.
714 * locked, referenced vnode. If *vpp == dvp then remember that only one
718 unionfs_relookup(struct vnode *dvp, struct vnode **vpp,
742 vref(dvp);
743 VOP_UNLOCK(dvp);
745 if ((error = vfs_relookup(dvp, vpp, cn, refstart))) {
746 vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY);
748 vrele(dvp);
768 struct vnode *dvp;
775 dvp = unp->un_dvp;
796 if (dvp != NULLVP && vp->v_type == VDIR) {
797 VI_LOCK(dvp);
800 hd = unionfs_get_hashhead(dvp, uvp);
877 * dvp and vp are unionfs vnodes representing a parent directory and
883 unionfs_mkshadowdir(struct vnode *dvp, struct vnode *vp,
901 ASSERT_VOP_ELOCKED(dvp, __func__);
907 dunp = VTOUNIONFS(dvp);
941 * then jump to exit code that relocks dvp, which in most
945 * below) may unlock and then relock udvp, allowing dvp to
946 * be reclaimed in the meantime. In such a situation dvp
950 * dvp on exit than to explicitly check for reclamation
951 * of dvp.
995 * dvp on exit.
1036 vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY);
1038 if (error == 0 && (VN_IS_DOOMED(dvp) || VN_IS_DOOMED(vp)))
1203 * dvp and vp are unionfs vnodes representing a parent directory and
1207 unionfs_mkwhiteout(struct vnode *dvp, struct vnode *vp,
1217 ASSERT_VOP_ELOCKED(dvp, __func__);
1220 udvp = VTOUNIONFS(dvp)->un_uppervp;
1248 if (VTOUNIONFS(dvp) == NULL) {
1255 vn_lock_pair(dvp, dvp_locked, LK_EXCLUSIVE, vp, false, LK_EXCLUSIVE);