• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/xnu-2782.1.97/bsd/vfs/

Lines Matching refs:rp

8533 	vnode_resolve_t rp;
8548 rp = vp->v_resolve;
8549 lck_mtx_lock(&rp->vr_lock);
8551 if (seq > rp->vr_lastseq) {
8553 rp->vr_flags |= VNT_RESOLVED;
8555 rp->vr_flags &= ~VNT_RESOLVED;
8557 rp->vr_lastseq = seq;
8560 lck_mtx_unlock(&rp->vr_lock);
8566 vnode_resolver_attach(vnode_t vp, vnode_resolve_t rp, boolean_t ref)
8575 vp->v_resolve = rp;
8598 vnode_resolve_t rp;
8607 MALLOC(rp, vnode_resolve_t, sizeof(*rp), M_TEMP, M_WAITOK);
8608 if (rp == NULL)
8611 lck_mtx_init(&rp->vr_lock, trigger_vnode_lck_grp, trigger_vnode_lck_attr);
8613 rp->vr_resolve_func = tinfo->vnt_resolve_func;
8614 rp->vr_unresolve_func = tinfo->vnt_unresolve_func;
8615 rp->vr_rearm_func = tinfo->vnt_rearm_func;
8616 rp->vr_reclaim_func = tinfo->vnt_reclaim_func;
8617 rp->vr_data = tinfo->vnt_data;
8618 rp->vr_lastseq = 0;
8619 rp->vr_flags = tinfo->vnt_flags & VNT_VALID_MASK;
8621 rp->vr_flags |= VNT_EXTERNAL;
8624 result = vnode_resolver_attach(vp, rp, external);
8636 FREE(rp, M_TEMP);
8641 vnode_resolver_release(vnode_resolve_t rp)
8646 if (rp->vr_data && rp->vr_reclaim_func) {
8647 rp->vr_reclaim_func(NULLVP, rp->vr_data);
8650 lck_mtx_destroy(&rp->vr_lock, trigger_vnode_lck_grp);
8651 FREE(rp, M_TEMP);
8659 vnode_resolve_t rp;
8665 rp = vp->v_resolve;
8669 if ((rp->vr_flags & VNT_EXTERNAL) != 0) {
8673 vnode_resolver_release(rp);
8683 vnode_resolve_t rp;
8694 rp = vp->v_resolve;
8695 lck_mtx_lock(&rp->vr_lock);
8700 if (rp->vr_flags & VNT_VFS_UNMOUNTED) {
8701 lck_mtx_unlock(&rp->vr_lock);
8706 if ((rp->vr_flags & VNT_RESOLVED) == 0) {
8707 lck_mtx_unlock(&rp->vr_lock);
8711 lck_mtx_unlock(&rp->vr_lock);
8713 result = rp->vr_rearm_func(vp, 0, rp->vr_data, ctx);
8717 lck_mtx_lock(&rp->vr_lock);
8718 if (seq > rp->vr_lastseq) {
8720 rp->vr_flags &= ~VNT_RESOLVED;
8721 rp->vr_lastseq = seq;
8723 lck_mtx_unlock(&rp->vr_lock);
8730 vnode_resolve_t rp;
8743 rp = vp->v_resolve;
8744 lck_mtx_lock(&rp->vr_lock);
8747 if (rp->vr_flags & VNT_RESOLVED) {
8748 lck_mtx_unlock(&rp->vr_lock);
8752 lck_mtx_unlock(&rp->vr_lock);
8767 result = rp->vr_resolve_func(vp, &ndp->ni_cnd, op, 0, rp->vr_data, ctx);
8771 lck_mtx_lock(&rp->vr_lock);
8772 if (seq > rp->vr_lastseq) {
8774 rp->vr_flags |= VNT_RESOLVED;
8775 rp->vr_lastseq = seq;
8777 lck_mtx_unlock(&rp->vr_lock);
8786 vnode_resolve_t rp;
8795 rp = vp->v_resolve;
8796 lck_mtx_lock(&rp->vr_lock);
8799 if ((rp->vr_flags & VNT_RESOLVED) == 0) {
8801 lck_mtx_unlock(&rp->vr_lock);
8805 rp->vr_flags |= VNT_VFS_UNMOUNTED;
8807 lck_mtx_unlock(&rp->vr_lock);
8817 result = rp->vr_unresolve_func(vp, flags, rp->vr_data, ctx);
8821 lck_mtx_lock(&rp->vr_lock);
8822 if (seq > rp->vr_lastseq) {
8824 rp->vr_flags &= ~VNT_RESOLVED;
8825 rp->vr_lastseq = seq;
8827 rp->vr_flags &= ~VNT_VFS_UNMOUNTED;
8828 lck_mtx_unlock(&rp->vr_lock);