Lines Matching defs:vp

112 	struct vnode   *vp;
123 vp = UNIONFSTOV(unp);
124 VI_LOCK_FLAGS(vp, MTX_DUPOK);
126 vp->v_iflag &= ~VI_OWEINACT;
127 if ((vp->v_iflag & (VI_DOOMED | VI_DOINGINACT)) != 0) {
128 VI_UNLOCK(vp);
129 vp = NULLVP;
131 VI_UNLOCK(vp);
132 return (vp);
149 struct vnode *vp;
160 vp = UNIONFSTOV(unp);
161 VI_LOCK_FLAGS(vp, MTX_DUPOK);
162 vp->v_iflag &= ~VI_OWEINACT;
163 if ((vp->v_iflag & (VI_DOOMED | VI_DOINGINACT)) != 0) {
165 VI_UNLOCK(vp);
166 vp = NULLVP;
168 VI_UNLOCK(vp);
170 return (vp);
214 struct vnode *vp;
236 vp = unionfs_get_cached_vnode(uppervp, lowervp, dvp, path);
237 if (vp != NULLVP) {
238 vref(vp);
239 *vpp = vp;
259 error = getnewvnode("unionfs", mp, &unionfs_vnodeops, &vp);
264 error = insmntque(vp, mp); /* XXX: Too early for mpsafe fs */
280 unp->un_vnode = vp;
285 vp->v_vnlock = uppervp->v_vnlock;
287 vp->v_vnlock = lowervp->v_vnlock;
295 vp->v_type = vt;
296 vp->v_data = unp;
300 vp->v_vflag |= VV_ROOT;
315 vrele(vp);
316 vp = *vpp;
317 vref(vp);
319 *vpp = vp;
323 vn_lock(vp, lkflags | LK_RETRY);
332 unionfs_noderem(struct vnode *vp, struct thread *td)
347 VI_LOCK(vp);
348 unp = VTOUNIONFS(vp);
353 vp->v_vnlock = &(vp->v_lock);
354 vp->v_data = NULL;
355 vp->v_object = NULL;
356 VI_UNLOCK(vp);
366 if (lockmgr(vp->v_vnlock, LK_EXCLUSIVE, VI_MTX(vp)) != 0)
583 struct vnode *vp;
587 vp = NULLVP;
589 error = unionfs_relookup(udvp, &vp, cnp, &cn, td, cnp->cn_nameptr,
594 if (vp != NULLVP) {
595 if (udvp == vp)
596 vrele(vp);
598 vput(vp);
627 struct vnode *vp;
631 vp = NULLVP;
633 error = unionfs_relookup(udvp, &vp, cnp, &cn, td, cnp->cn_nameptr,
638 if (vp == NULLVP)
641 if (udvp == vp)
642 vrele(vp);
644 vput(vp);
671 struct vnode *vp;
675 vp = NULLVP;
677 error = unionfs_relookup(udvp, &vp, cnp, &cn, td, cnp->cn_nameptr,
682 if (vp != NULLVP) {
683 if (udvp == vp)
684 vrele(vp);
686 vput(vp);
714 struct vnode *vp;
718 vp = UNIONFSTOV(unp);
726 VI_LOCK(vp);
728 vp->v_vnlock = uvp->v_vnlock;
729 VI_UNLOCK(vp);
737 if (unp->un_path != NULL && dvp != NULLVP && vp->v_type == VDIR) {
903 struct vnode *vp;
912 vp = NULLVP;
937 if ((error = relookup(udvp, &vp, &cn)) != 0)
941 if (vp != NULLVP) {
942 if (vp == udvp)
943 vrele(vp);
945 vput(vp);
950 if ((error = VOP_CREATE(udvp, &vp, &cn, uvap)) != 0)
953 if ((error = VOP_OPEN(vp, fmode, cred, td, NULL)) != 0) {
954 vput(vp);
957 VOP_ADD_WRITECOUNT(vp, 1);
958 *vpp = vp;
1108 * It checks whether vp can rmdir. (check empty)
1110 * vp is unionfs vnode.
1111 * vp should be locked.
1114 unionfs_check_rmdir(struct vnode *vp, struct ucred *cred, struct thread *td)
1133 ASSERT_VOP_ELOCKED(vp, "unionfs_check_rmdir");
1136 uvp = UNIONFSVPTOUPPERVP(vp);
1137 lvp = UNIONFSVPTOLOWERVP(vp);
1147 if ((error = mac_vnode_check_open(cred, vp, VEXEC|VREAD)) != 0)
1150 if ((error = VOP_ACCESS(vp, VEXEC|VREAD, cred, td)) != 0)
1152 if ((error = VOP_OPEN(vp, FREAD, cred, td, NULL)) != 0)
1231 VOP_CLOSE(vp, FREAD, cred, td);
1239 unionfs_checkuppervp(struct vnode *vp, char *fil, int lno)
1243 unp = VTOUNIONFS(vp);
1246 if (vp->v_op != unionfs_vnodeop_p) {
1259 unionfs_checklowervp(struct vnode *vp, char *fil, int lno)
1263 unp = VTOUNIONFS(vp);
1266 if (vp->v_op != unionfs_vnodeop_p) {