diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h --- a/sys/fs/nfs/nfs_var.h +++ b/sys/fs/nfs/nfs_var.h @@ -686,7 +686,7 @@ int nfsvno_accchk(vnode_t, accmode_t, struct ucred *, struct nfsexstuff *, NFSPROC_T *, int, int, u_int32_t *); int nfsvno_namei(struct nfsrv_descript *, struct nameidata *, - vnode_t, int, struct nfsexstuff *, NFSPROC_T *, vnode_t *); + vnode_t, int, struct nfsexstuff *, vnode_t *); void nfsvno_setpathbuf(struct nameidata *, char **, u_long **); void nfsvno_relpathbuf(struct nameidata *); int nfsvno_readlink(vnode_t, struct ucred *, int, NFSPROC_T *, struct mbuf **, diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -594,7 +594,7 @@ */ int nfsvno_namei(struct nfsrv_descript *nd, struct nameidata *ndp, - struct vnode *dp, int islocked, struct nfsexstuff *exp, struct thread *p, + struct vnode *dp, int islocked, struct nfsexstuff *exp, struct vnode **retdirp) { struct componentname *cnp = &ndp->ni_cnd; @@ -661,7 +661,7 @@ * because lookup() will dereference ni_startdir. */ - cnp->cn_thread = p; + cnp->cn_thread = curthread; ndp->ni_startdir = dp; ndp->ni_rootdir = rootvnode; ndp->ni_topdir = NULL; diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c --- a/sys/fs/nfsserver/nfs_nfsdserv.c +++ b/sys/fs/nfsserver/nfs_nfsdserv.c @@ -612,7 +612,7 @@ goto out; } if (!nd->nd_repstat) { - nd->nd_repstat = nfsvno_namei(nd, &named, dp, 0, exp, p, &dirp); + nd->nd_repstat = nfsvno_namei(nd, &named, dp, 0, exp, &dirp); } else { vrele(dp); nfsvno_relpathbuf(&named); @@ -1214,7 +1214,7 @@ goto out; } - nd->nd_repstat = nfsvno_namei(nd, &named, dp, 1, exp, p, &dirp); + nd->nd_repstat = nfsvno_namei(nd, &named, dp, 1, exp, &dirp); if (dirp) { if (nd->nd_flag & ND_NFSV2) { vrele(dirp); @@ -1420,7 +1420,7 @@ if (vtyp == VDIR) named.ni_cnd.cn_flags |= WILLBEDIR; - nd->nd_repstat = nfsvno_namei(nd, &named, dp, 0, exp, p, &dirp); + nd->nd_repstat = nfsvno_namei(nd, &named, dp, 0, exp, &dirp); if (nd->nd_repstat) { if (dirp) { if (nd->nd_flag & ND_NFSV3) @@ -1543,7 +1543,7 @@ goto out; } if (!nd->nd_repstat) { - nd->nd_repstat = nfsvno_namei(nd, &named, dp, 1, exp, p, &dirp); + nd->nd_repstat = nfsvno_namei(nd, &named, dp, 1, exp, &dirp); } else { vput(dp); nfsvno_relpathbuf(&named); @@ -1717,7 +1717,7 @@ /* * Done parsing, now down to business. */ - nd->nd_repstat = nfsvno_namei(nd, &fromnd, dp, 0, exp, p, &fdirp); + nd->nd_repstat = nfsvno_namei(nd, &fromnd, dp, 0, exp, &fdirp); if (nd->nd_repstat) { if (nd->nd_flag & ND_NFSV3) { nfsrv_wcc(nd, fdirfor_ret, &fdirfor, fdiraft_ret, @@ -1734,7 +1734,7 @@ } if (vnode_vtype(fromnd.ni_vp) == VDIR) tond.ni_cnd.cn_flags |= WILLBEDIR; - nd->nd_repstat = nfsvno_namei(nd, &tond, tdp, 0, &tnes, p, &tdirp); + nd->nd_repstat = nfsvno_namei(nd, &tond, tdp, 0, &tnes, &tdirp); nd->nd_repstat = nfsvno_rename(&fromnd, &tond, nd->nd_repstat, nd->nd_flag, nd->nd_cred, p); if (fdirp) @@ -1829,7 +1829,7 @@ } if (!nd->nd_repstat) { nd->nd_repstat = nfsvno_namei(nd, &named, dp, 0, &tnes, - p, &dirp); + &dirp); } else { if (dp) vrele(dp); @@ -1904,7 +1904,7 @@ goto out; } if (!nd->nd_repstat) { - nd->nd_repstat = nfsvno_namei(nd, &named, dp, 0, exp, p, &dirp); + nd->nd_repstat = nfsvno_namei(nd, &named, dp, 0, exp, &dirp); } else { vrele(dp); nfsvno_relpathbuf(&named); @@ -2028,7 +2028,7 @@ } } if (!nd->nd_repstat) { - nd->nd_repstat = nfsvno_namei(nd, &named, dp, 0, exp, p, &dirp); + nd->nd_repstat = nfsvno_namei(nd, &named, dp, 0, exp, &dirp); } else { vrele(dp); nfsvno_relpathbuf(&named); @@ -3030,7 +3030,7 @@ } if (!nd->nd_repstat) { nd->nd_repstat = nfsvno_namei(nd, &named, dp, 0, exp, - p, &dirp); + &dirp); } else { vrele(dp); nfsvno_relpathbuf(&named); @@ -3688,7 +3688,7 @@ goto out; } if (!nd->nd_repstat) { - nd->nd_repstat = nfsvno_namei(nd, &named, dp, 1, exp, p, &dirp); + nd->nd_repstat = nfsvno_namei(nd, &named, dp, 1, exp, &dirp); } else { vput(dp); nfsvno_relpathbuf(&named); @@ -3822,7 +3822,7 @@ goto nfsmout; } if (nd->nd_repstat == 0) - nd->nd_repstat = nfsvno_namei(nd, &named, dp, 1, exp, p, &dirp); + nd->nd_repstat = nfsvno_namei(nd, &named, dp, 1, exp, &dirp); else vput(dp); if (dirp != NULL)