Date: Wed, 4 Apr 2001 11:40:47 -0400 (EDT) From: Robert Watson <rwatson@FreeBSD.ORG> To: Matt Dillon <dillon@earth.backplane.com> Cc: Alfred Perlstein <bright@wintelcom.net>, Brian Somers <brian@Awfulhak.org>, freebsd-arch@FreeBSD.ORG Subject: Re: Eliminate crget() from nfs kernel code? Message-ID: <Pine.NEB.3.96L.1010404113251.14983A-100000@fledge.watson.org> In-Reply-To: <Pine.NEB.3.96L.1010403225735.7479E-100000@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
For those interested in giving the p->p_ucred version a try, the simply patch is below. It works between FreeBSD boxes, and my tests against Solaris 5.5. Unfortunately, my remote NFS test box already has interop problems with Linux due to the new mount_nfs that I haven't applied patches to yet, so I can't test that case. Robert N M Watson FreeBSD Core Team, TrustedBSD Project robert@fledge.watson.org NAI Labs, Safeport Network Services Index: nfs_vfsops.c =================================================================== RCS file: /home/ncvs/src/sys/nfs/nfs_vfsops.c,v retrieving revision 1.94 diff -u -r1.94 nfs_vfsops.c --- nfs_vfsops.c 2001/03/01 20:59:19 1.94 +++ nfs_vfsops.c 2001/04/04 03:25:36 @@ -254,7 +254,6 @@ struct nfsmount *nmp = VFSTONFS(mp); int error = 0, v3 = (nmp->nm_flag & NFSMNT_NFSV3), retattr; struct mbuf *mreq, *mrep, *md, *mb, *mb2; - struct ucred *cred; struct nfsnode *np; u_quad_t tquad; @@ -265,14 +264,12 @@ if (error) return (error); vp = NFSTOV(np); - cred = crget(); - cred->cr_ngroups = 1; if (v3 && (nmp->nm_state & NFSSTA_GOTFSINFO) == 0) - (void)nfs_fsinfo(nmp, vp, cred, p); + (void)nfs_fsinfo(nmp, vp, p->p_ucred, p); nfsstats.rpccnt[NFSPROC_FSSTAT]++; nfsm_reqhead(vp, NFSPROC_FSSTAT, NFSX_FH(v3)); nfsm_fhtom(vp, v3); - nfsm_request(vp, NFSPROC_FSSTAT, p, cred); + nfsm_request(vp, NFSPROC_FSSTAT, p, p->p_ucred); if (v3) nfsm_postop_attr(vp, retattr); if (error) { @@ -310,7 +307,6 @@ } nfsm_reqdone; vput(vp); - crfree(cred); return (error); } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1010404113251.14983A-100000>