Lines Matching refs:dvp

1692 nfs_lookup(vnode_t *dvp, char *nm, vnode_t **vpp, struct pathname *pnp,  in nfs_lookup()  argument
1701 if (nfs_zone() != VTOMI(dvp)->mi_zone) in nfs_lookup()
1704 drp = VTOR(dvp); in nfs_lookup()
1716 mi = VTOMI(dvp); in nfs_lookup()
1720 if (nfs_rw_enter_sig(&drp->r_rwlock, RW_READER, INTR(dvp))) in nfs_lookup()
1723 (void) nfslookup_dnlc(dvp, XATTR_DIR_NAME, &avp, cr); in nfs_lookup()
1725 error = acl_getxattrdir2(dvp, &avp, cflag, cr, 0); in nfs_lookup()
1736 dvp = avp; in nfs_lookup()
1737 drp = VTOR(dvp); in nfs_lookup()
1740 if (nfs_rw_enter_sig(&drp->r_rwlock, RW_READER, INTR(dvp))) { in nfs_lookup()
1745 error = nfslookup(dvp, nm, vpp, pnp, flags, rdir, cr, 0); in nfs_lookup()
1777 nfslookup(vnode_t *dvp, char *nm, vnode_t **vpp, struct pathname *pnp, in nfslookup() argument
1782 ASSERT(nfs_zone() == VTOMI(dvp)->mi_zone); in nfslookup()
1790 VN_HOLD(dvp); in nfslookup()
1791 *vpp = dvp; in nfslookup()
1798 if (dvp->v_type != VDIR) in nfslookup()
1817 error = nfs_access(dvp, VEXEC, 0, cr, NULL); in nfslookup()
1820 VN_HOLD(dvp); in nfslookup()
1821 *vpp = dvp; in nfslookup()
1829 error = nfslookup_dnlc(dvp, nm, vpp, cr); in nfslookup()
1834 error = nfslookup_otw(dvp, nm, vpp, cr, rfscall_flags); in nfslookup()
1840 nfslookup_dnlc(vnode_t *dvp, char *nm, vnode_t **vpp, cred_t *cr) in nfslookup_dnlc() argument
1846 ASSERT(nfs_zone() == VTOMI(dvp)->mi_zone); in nfslookup_dnlc()
1861 vp = dnlc_lookup(dvp, nm); in nfslookup_dnlc()
1864 if (vp == DNLC_NO_VNODE && !vn_is_readonly(dvp)) { in nfslookup_dnlc()
1865 PURGE_ATTRCACHE(dvp); in nfslookup_dnlc()
1867 error = nfs_validate_caches(dvp, cr); in nfslookup_dnlc()
1870 vp = dnlc_lookup(dvp, nm); in nfslookup_dnlc()
1872 error = nfs_access(dvp, VEXEC, 0, cr, NULL); in nfslookup_dnlc()
1905 nfslookup_otw(vnode_t *dvp, char *nm, vnode_t **vpp, cred_t *cr, in nfslookup_otw() argument
1916 ASSERT(dvp->v_type == VDIR); in nfslookup_otw()
1917 ASSERT(nfs_zone() == VTOMI(dvp)->mi_zone); in nfslookup_otw()
1919 setdiropargs(&da, nm, dvp); in nfslookup_otw()
1921 fi.vp = dvp; in nfslookup_otw()
1931 error = rfs2call(VTOMI(dvp), RFS_LOOKUP, in nfslookup_otw()
1940 dvp->v_vfsp, t, cr, VTOR(dvp)->r_path, nm); in nfslookup_otw()
1953 dnlc_update(dvp, nm, *vpp); in nfslookup_otw()
1955 PURGE_STALE_FH(error, dvp, cr); in nfslookup_otw()
1957 dnlc_enter(dvp, nm, DNLC_NO_VNODE); in nfslookup_otw()
1966 nfs_create(vnode_t *dvp, char *nm, struct vattr *va, enum vcexcl exclusive, in nfs_create() argument
1981 drp = VTOR(dvp); in nfs_create()
1983 if (nfs_zone() != VTOMI(dvp)->mi_zone) in nfs_create()
1985 if (nfs_rw_enter_sig(&drp->r_rwlock, RW_WRITER, INTR(dvp))) in nfs_create()
2001 VN_HOLD(dvp); in nfs_create()
2002 vp = dvp; in nfs_create()
2009 error = nfs_access(dvp, VEXEC, 0, cr, ct); in nfs_create()
2014 VN_HOLD(dvp); in nfs_create()
2015 vp = dvp; in nfs_create()
2022 error = nfslookup_otw(dvp, nm, &vp, cr, 0); in nfs_create()
2072 dnlc_remove(dvp, nm); in nfs_create()
2074 setdiropargs(&args.ca_da, nm, dvp); in nfs_create()
2081 error = setdirgid(dvp, &vattr.va_gid, cr); in nfs_create()
2147 error = rfs2call(VTOMI(dvp), RFS_CREATE, in nfs_create()
2152 PURGE_ATTRCACHE(dvp); /* mod time changed */ in nfs_create()
2158 nfs_purge_rddir_cache(dvp); in nfs_create()
2160 dvp->v_vfsp, t, cr, NULL, NULL); in nfs_create()
2172 dnlc_update(dvp, nm, vp); in nfs_create()
2204 PURGE_STALE_FH(error, dvp, cr); in nfs_create()
2220 nfs_remove(vnode_t *dvp, char *nm, cred_t *cr, caller_context_t *ct, int flags) in nfs_remove() argument
2231 if (nfs_zone() != VTOMI(dvp)->mi_zone) in nfs_remove()
2233 drp = VTOR(dvp); in nfs_remove()
2234 if (nfs_rw_enter_sig(&drp->r_rwlock, RW_WRITER, INTR(dvp))) in nfs_remove()
2237 error = nfslookup(dvp, nm, &vp, NULL, 0, NULL, cr, 0); in nfs_remove()
2243 if (vp->v_type == VDIR && secpolicy_fs_linkdir(cr, dvp->v_vfsp)) { in nfs_remove()
2253 dnlc_remove(dvp, nm); in nfs_remove()
2273 error = nfsrename(dvp, nm, dvp, tmpname, cr, ct); in nfs_remove()
2279 VN_HOLD(dvp); in nfs_remove()
2280 rp->r_unldvp = dvp; in nfs_remove()
2311 setdiropargs(&da, nm, dvp); in nfs_remove()
2315 error = rfs2call(VTOMI(dvp), RFS_REMOVE, in nfs_remove()
2324 if (dvp->v_flag & V_XATTRDIR) in nfs_remove()
2325 dnlc_purge_vp(dvp); in nfs_remove()
2327 PURGE_ATTRCACHE(dvp); /* mod time changed */ in nfs_remove()
2334 nfs_purge_rddir_cache(dvp); in nfs_remove()
2336 PURGE_STALE_FH(error, dvp, cr); in nfs_remove()
2342 vnevent_remove(vp, dvp, nm, ct); in nfs_remove()
2711 nfs_mkdir(vnode_t *dvp, char *nm, struct vattr *va, vnode_t **vpp, cred_t *cr, in nfs_mkdir() argument
2721 if (nfs_zone() != VTOMI(dvp)->mi_zone) in nfs_mkdir()
2724 setdiropargs(&args.ca_da, nm, dvp); in nfs_mkdir()
2730 error = setdirgid(dvp, &va->va_gid, cr); in nfs_mkdir()
2733 error = setdirmode(dvp, &va->va_mode, cr); in nfs_mkdir()
2745 drp = VTOR(dvp); in nfs_mkdir()
2746 if (nfs_rw_enter_sig(&drp->r_rwlock, RW_WRITER, INTR(dvp))) in nfs_mkdir()
2749 dnlc_remove(dvp, nm); in nfs_mkdir()
2755 error = rfs2call(VTOMI(dvp), RFS_MKDIR, in nfs_mkdir()
2760 PURGE_ATTRCACHE(dvp); /* mod time changed */ in nfs_mkdir()
2766 nfs_purge_rddir_cache(dvp); in nfs_mkdir()
2774 dvp->v_vfsp, t, cr, NULL, NULL); in nfs_mkdir()
2776 dnlc_update(dvp, nm, *vpp); in nfs_mkdir()
2788 PURGE_STALE_FH(error, dvp, cr); in nfs_mkdir()
2799 nfs_rmdir(vnode_t *dvp, char *nm, vnode_t *cdir, cred_t *cr, in nfs_rmdir() argument
2809 if (nfs_zone() != VTOMI(dvp)->mi_zone) in nfs_rmdir()
2811 drp = VTOR(dvp); in nfs_rmdir()
2812 if (nfs_rw_enter_sig(&drp->r_rwlock, RW_WRITER, INTR(dvp))) in nfs_rmdir()
2818 error = nfslookup(dvp, nm, &vp, NULL, 0, NULL, cr, 0); in nfs_rmdir()
2830 setdiropargs(&da, nm, dvp); in nfs_rmdir()
2836 dnlc_remove(dvp, nm); in nfs_rmdir()
2855 error = rfs2call(VTOMI(dvp), RFS_RMDIR, in nfs_rmdir()
2860 PURGE_ATTRCACHE(dvp); /* mod time changed */ in nfs_rmdir()
2871 nfs_purge_rddir_cache(dvp); in nfs_rmdir()
2875 PURGE_STALE_FH(error, dvp, cr); in nfs_rmdir()
2887 vnevent_rmdir(vp, dvp, nm, ct); in nfs_rmdir()
2898 nfs_symlink(vnode_t *dvp, char *lnm, struct vattr *tva, char *tnm, cred_t *cr, in nfs_symlink() argument
2907 if (nfs_zone() != VTOMI(dvp)->mi_zone) in nfs_symlink()
2909 setdiropargs(&args.sla_from, lnm, dvp); in nfs_symlink()
2918 drp = VTOR(dvp); in nfs_symlink()
2919 if (nfs_rw_enter_sig(&drp->r_rwlock, RW_WRITER, INTR(dvp))) in nfs_symlink()
2922 dnlc_remove(dvp, lnm); in nfs_symlink()
2926 error = rfs2call(VTOMI(dvp), RFS_SYMLINK, in nfs_symlink()
2931 PURGE_ATTRCACHE(dvp); /* mod time changed */ in nfs_symlink()
2937 nfs_purge_rddir_cache(dvp); in nfs_symlink()
2939 PURGE_STALE_FH(error, dvp, cr); in nfs_symlink()