Home | History | Annotate | Download | only in client

Lines Matching refs:dvp

209 static int nfs_mknodrpc(struct vnode *dvp, struct vnode **vpp,
211 static int nfs_removerpc(struct vnode *dvp, struct vnode *vp, char *name,
1034 struct vnode *dvp = ap->a_dvp;
1036 struct mount *mp = dvp->v_mount;
1052 if (dvp->v_type != VDIR)
1055 np = VTONFS(dvp);
1065 if ((error = VOP_ACCESS(dvp, VEXEC, cnp->cn_cred, td)) != 0)
1067 error = cache_lookup(dvp, vpp, cnp, &nctime, &ncticks);
1121 if (dvp != newvp)
1127 if (dvp->v_iflag & VI_DOOMED)
1139 VOP_GETATTR(dvp, &vattr, cnp->cn_cred) == 0 &&
1144 cache_purge_negative(dvp);
1150 error = nfsrpc_lookup(dvp, cnp->cn_nameptr, cnp->cn_namelen,
1154 (void) nfscl_loadattrcache(&dvp, &dnfsva, NULL, NULL, 0, 1);
1162 if (NFS_ISV4(dvp))
1172 * XXX: UFS does a full VOP_ACCESS(dvp,
1195 cache_enter_time(dvp, NULL, cnp,
1211 error = nfscl_nget(mp, dvp, nfhp, cnp, td, &np, NULL,
1225 ltype = NFSVOPISLOCKED(dvp);
1229 NFSVOPUNLOCK(dvp, 0);
1231 NFSVOPLOCK(dvp, ltype | LK_RETRY);
1233 if (error == 0 && (dvp->v_iflag & VI_DOOMED)) {
1240 NFSVOPUNLOCK(dvp, 0);
1241 error = nfscl_nget(mp, dvp, nfhp, cnp, td, &np, NULL,
1246 if (newvp != dvp)
1247 NFSVOPLOCK(dvp, ltype | LK_RETRY);
1248 if (dvp->v_iflag & VI_DOOMED) {
1250 if (newvp == dvp)
1264 VREF(dvp);
1265 newvp = dvp;
1270 error = nfscl_nget(mp, dvp, nfhp, cnp, td, &np, NULL,
1297 cache_enter_time(dvp, newvp, cnp, &nfsva.na_ctime,
1433 nfs_mknodrpc(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp,
1450 if ((error = VOP_GETATTR(dvp, &vattr, cnp->cn_cred)))
1452 error = nfsrpc_mknod(dvp, cnp->cn_nameptr, cnp->cn_namelen, vap,
1457 (void) nfsrpc_lookup(dvp, cnp->cn_nameptr,
1462 error = nfscl_nget(dvp->v_mount, dvp, nfhp, cnp,
1466 (void) nfscl_loadattrcache(&dvp, &dnfsva, NULL, NULL, 0, 1);
1478 } else if (NFS_ISV4(dvp)) {
1482 dnp = VTONFS(dvp);
1487 KDTRACE_NFS_ATTRCACHE_FLUSH_DONE(dvp);
1534 struct vnode *dvp = ap->a_dvp;
1550 return (nfs_mknodrpc(dvp, ap->a_vpp, cnp, vap));
1552 if ((error = VOP_GETATTR(dvp, &vattr, cnp->cn_cred)))
1556 dnp = VTONFS(dvp);
1557 nmp = VFSTONFS(vnode_mount(dvp));
1568 error = nfsrpc_create(dvp, cnp->cn_nameptr, cnp->cn_namelen,
1573 (void) nfsrpc_lookup(dvp, cnp->cn_nameptr,
1578 error = nfscl_nget(dvp->v_mount, dvp, nfhp, cnp,
1582 (void) nfscl_loadattrcache(&dvp, &dnfsva, NULL, NULL, 0, 1);
1597 if (NFS_ISV34(dvp) && (fmode & O_EXCL) &&
1602 } else if (NFS_ISV34(dvp) && (fmode & O_EXCL)) {
1624 cache_enter_time(dvp, newvp, cnp, &nfsva.na_ctime,
1627 } else if (NFS_ISV4(dvp)) {
1635 KDTRACE_NFS_ATTRCACHE_FLUSH_DONE(dvp);
1656 struct vnode *dvp = ap->a_dvp;
1684 error = nfs_removerpc(dvp, vp, cnp->cn_nameptr,
1695 error = nfs_sillyrename(dvp, vp, cnp);
1723 nfs_removerpc(struct vnode *dvp, struct vnode *vp, char *name,
1727 struct nfsnode *dnp = VTONFS(dvp);
1733 error = nfsrpc_remove(dvp, name, namelen, vp, cred, td, &dnfsva,
1745 (void) nfscl_loadattrcache(&dvp, &dnfsva, NULL, NULL, 0, 1);
1750 KDTRACE_NFS_ATTRCACHE_FLUSH_DONE(dvp);
1753 if (error && NFS_ISV4(dvp))
2011 struct vnode *dvp = ap->a_dvp;
2021 error = nfsrpc_symlink(dvp, cnp->cn_nameptr, cnp->cn_namelen,
2025 ret = nfscl_nget(dvp->v_mount, dvp, nfhp, cnp, cnp->cn_thread,
2042 error = nfs_lookitup(dvp, cnp->cn_nameptr, cnp->cn_namelen,
2050 if (NFS_ISV4(dvp))
2057 dnp = VTONFS(dvp);
2062 (void) nfscl_loadattrcache(&dvp, &dnfsva, NULL, NULL, 0, 1);
2066 KDTRACE_NFS_ATTRCACHE_FLUSH_DONE(dvp);
2074 if (VFSTONFS(dvp->v_mount)->nm_negnametimeo != 0 &&
2076 cache_enter_time(dvp, newvp, cnp, &nfsva.na_ctime, NULL);
2087 struct vnode *dvp = ap->a_dvp;
2097 if ((error = VOP_GETATTR(dvp, &vattr, cnp->cn_cred)) != 0)
2100 error = nfsrpc_mkdir(dvp, cnp->cn_nameptr, cnp->cn_namelen,
2103 dnp = VTONFS(dvp);
2108 (void) nfscl_loadattrcache(&dvp, &dnfsva, NULL, NULL, 0, 1);
2112 KDTRACE_NFS_ATTRCACHE_FLUSH_DONE(dvp);
2115 ret = nfscl_nget(dvp->v_mount, dvp, nfhp, cnp, cnp->cn_thread,
2126 error = nfs_lookitup(dvp, cnp->cn_nameptr, cnp->cn_namelen,
2137 if (NFS_ISV4(dvp))
2147 if (VFSTONFS(dvp->v_mount)->nm_negnametimeo != 0 &&
2150 cache_enter_time(dvp, newvp, cnp, &nfsva.na_ctime,
2164 struct vnode *dvp = ap->a_dvp;
2170 if (dvp == vp)
2172 error = nfsrpc_rmdir(dvp, cnp->cn_nameptr, cnp->cn_namelen,
2174 dnp = VTONFS(dvp);
2179 (void) nfscl_loadattrcache(&dvp, &dnfsva, NULL, NULL, 0, 1);
2183 KDTRACE_NFS_ATTRCACHE_FLUSH_DONE(dvp);
2186 cache_purge(dvp);
2188 if (error && NFS_ISV4(dvp))
2393 nfs_sillyrename(struct vnode *dvp, struct vnode *vp, struct componentname *cnp)
2401 cache_purge(dvp);
2407 sp->s_dvp = dvp;
2408 VREF(dvp);
2423 if (nfs_lookitup(dvp, sp->s_name, sp->s_namlen, sp->s_cred,
2428 error = nfs_renameit(dvp, vp, cnp, sp);
2431 error = nfs_lookitup(dvp, sp->s_name, sp->s_namlen, sp->s_cred,
2451 nfs_lookitup(struct vnode *dvp, char *name, int len, struct ucred *cred,
2455 struct nfsnode *np, *dnp = VTONFS(dvp);
2462 error = nfsrpc_lookup(dvp, name, len, cred, td, &dnfsva, &nfsva,
2465 (void) nfscl_loadattrcache(&dvp, &dnfsva, NULL, NULL, 0, 1);
2512 VREF(dvp);
2513 newvp = dvp;
2517 error = nfscl_nget(dvp->v_mount, dvp, nfhp, &cn, td,
2524 if (newvp == dvp)
2537 if (newvp == dvp)
2545 if (error && NFS_ISV4(dvp))