Lines Matching refs:vp
240 * We require at least one vp.
244 panic("%s: no vp's in map.\n", __func__);
272 * that aren't. (We must always map first vp or vclean fails.)
282 * of vrele'ing their vp's. We must account for
409 struct vnode *vp = ap->a_vp;
415 (vp->v_mount->mnt_flag & MNT_RDONLY))
418 switch (vp->v_type) {
433 if (vp->v_mount->mnt_flag & MNT_RDONLY)
437 return LAYERFS_DO_BYPASS(vp, ap);
452 struct vnode *vp = ap->a_vp;
455 error = LAYERFS_DO_BYPASS(vp, ap);
460 ap->a_vap->va_fsid = vp->v_mount->mnt_stat.f_fsidx.__fsid_val[0];
473 struct vnode *vp = ap->a_vp;
482 switch (vp->v_type) {
486 if (vp->v_mount->mnt_flag & MNT_RDONLY)
493 return LAYERFS_DO_BYPASS(vp, ap);
509 struct vnode *vp = ap->a_vp;
510 struct vnode *lvp = LAYERVPTOLOWERVP(vp);
514 (vp->v_mount->mnt_flag & MNT_NODEV))
517 error = LAYERFS_DO_BYPASS(vp, ap);
538 struct vnode *vp = ap->a_vp;
539 struct vnode *lvp = LAYERVPTOLOWERVP(vp);
547 return LAYERFS_DO_BYPASS(vp, ap);
588 struct vnode *vp = ap->a_vp;
593 *ap->a_recycle = ((VTOLAYER(vp)->layer_flags & LAYERFS_REMOVED) != 0);
620 struct vnode *vp = ap->a_vp;
623 vref(vp);
624 error = LAYERFS_DO_BYPASS(vp, ap);
626 VTOLAYER(vp)->layer_flags |= LAYERFS_REMOVED;
628 vrele(vp);
672 struct vnode *vp = ap->a_vp;
674 vref(vp);
675 error = LAYERFS_DO_BYPASS(vp, ap);
677 VTOLAYER(vp)->layer_flags |= LAYERFS_REMOVED;
679 vrele(vp);
691 struct vnode *vp = ap->a_vp;
692 struct vnode *lvp = LAYERVPTOLOWERVP(vp);
701 error = LAYERFS_DO_BYPASS(vp, ap);
714 struct vnode *vp = ap->a_vp;
715 struct layer_mount *lmp = MOUNTTOLAYERMOUNT(vp->v_mount);
716 struct layer_node *xp = VTOLAYER(vp);
719 VOP_UNLOCK(vp);
726 if (vp == lmp->layerm_rootvp) {
736 mutex_enter(vp->v_interlock);
737 KASSERT(vp->v_interlock == lowervp->v_interlock);
738 lowervp->v_writecount -= vp->v_writecount;
739 mutex_exit(vp->v_interlock);
743 kmem_free(vp->v_data, lmp->layerm_size);
744 vp->v_data = NULL;
765 struct vnode *vp;
767 vp = LAYERVPTOLOWERVP(ap->a_vp);
768 ap->a_vp = vp;
770 return VCALL(vp, ap->a_desc->vdesc_offset, ap);
779 struct vnode *vp = ap->a_vp;
780 printf ("\ttag VT_LAYERFS, vp=%p, lowervp=%p\n", vp, LAYERVPTOLOWERVP(vp));
797 struct vnode *vp = ap->a_vp;
798 struct mount *mp = vp->v_mount;
802 KASSERT(rw_lock_held(vp->v_uobj.vmobjlock));
807 ap->a_vp = LAYERVPTOLOWERVP(vp);
808 KASSERT(vp->v_uobj.vmobjlock == ap->a_vp->v_uobj.vmobjlock);
811 op = rw_lock_op(vp->v_uobj.vmobjlock);
812 rw_exit(vp->v_uobj.vmobjlock);
814 rw_enter(vp->v_uobj.vmobjlock, op);
815 if (mp == vp->v_mount) {
819 rw_exit(vp->v_uobj.vmobjlock);
836 struct vnode *vp = ap->a_vp;
838 KASSERT(rw_write_held(vp->v_uobj.vmobjlock));
840 ap->a_vp = LAYERVPTOLOWERVP(vp);
841 KASSERT(vp->v_uobj.vmobjlock == ap->a_vp->v_uobj.vmobjlock);
844 rw_exit(vp->v_uobj.vmobjlock);