diff options
author | dg <dg@FreeBSD.org> | 1995-02-15 03:03:03 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1995-02-15 03:03:03 +0000 |
commit | 01a43e3165d640dbeebf10757088bc1f79a0ff0f (patch) | |
tree | 321156d74bff24ff849e3a8b3eade3b38cb263c2 /sys | |
parent | 6a684f71bc96701383ba7154cfc0949c5bf90a5c (diff) | |
download | FreeBSD-src-01a43e3165d640dbeebf10757088bc1f79a0ff0f.zip FreeBSD-src-01a43e3165d640dbeebf10757088bc1f79a0ff0f.tar.gz |
Fixed three bugs related to the merged cache changes. The bugs likely would
make NFS servers flakey - probably the cause of freefall's recent hangs.
Submitted by: John Dyson
Diffstat (limited to 'sys')
-rw-r--r-- | sys/nfs/nfs_serv.c | 8 | ||||
-rw-r--r-- | sys/nfsserver/nfs_serv.c | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/sys/nfs/nfs_serv.c b/sys/nfs/nfs_serv.c index 5b3bb63..e6cd7bd 100644 --- a/sys/nfs/nfs_serv.c +++ b/sys/nfs/nfs_serv.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_serv.c 8.3 (Berkeley) 1/12/94 - * $Id: nfs_serv.c,v 1.7 1994/10/02 17:26:58 phk Exp $ + * $Id: nfs_serv.c,v 1.8 1995/01/09 16:05:07 davidg Exp $ */ /* @@ -477,13 +477,13 @@ nfsrv_read(nfsd, mrep, md, dpos, cred, nam, mrq) nfsm_reply(0); if (vp->v_type != VREG) { error = (vp->v_type == VDIR) ? EISDIR : EACCES; - vput(vp); + nfsrv_vput(vp); nfsm_reply(0); } nqsrv_getl(vp, NQL_READ); if ((error = nfsrv_access(vp, VREAD, cred, rdonly, nfsd->nd_procp)) && (error = nfsrv_access(vp, VEXEC, cred, rdonly, nfsd->nd_procp))) { - vput(vp); + nfsrv_vput(vp); nfsm_reply(0); } error = VOP_GETATTR(vp, vap, cred, nfsd->nd_procp); @@ -1118,7 +1118,7 @@ out: nfsrv_vrele(nd.ni_vp); } out1: - nfsrv_vrele(vp); + nfsrv_vput(vp); nfsm_reply(0); nfsm_srvdone; } diff --git a/sys/nfsserver/nfs_serv.c b/sys/nfsserver/nfs_serv.c index 5b3bb63..e6cd7bd 100644 --- a/sys/nfsserver/nfs_serv.c +++ b/sys/nfsserver/nfs_serv.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_serv.c 8.3 (Berkeley) 1/12/94 - * $Id: nfs_serv.c,v 1.7 1994/10/02 17:26:58 phk Exp $ + * $Id: nfs_serv.c,v 1.8 1995/01/09 16:05:07 davidg Exp $ */ /* @@ -477,13 +477,13 @@ nfsrv_read(nfsd, mrep, md, dpos, cred, nam, mrq) nfsm_reply(0); if (vp->v_type != VREG) { error = (vp->v_type == VDIR) ? EISDIR : EACCES; - vput(vp); + nfsrv_vput(vp); nfsm_reply(0); } nqsrv_getl(vp, NQL_READ); if ((error = nfsrv_access(vp, VREAD, cred, rdonly, nfsd->nd_procp)) && (error = nfsrv_access(vp, VEXEC, cred, rdonly, nfsd->nd_procp))) { - vput(vp); + nfsrv_vput(vp); nfsm_reply(0); } error = VOP_GETATTR(vp, vap, cred, nfsd->nd_procp); @@ -1118,7 +1118,7 @@ out: nfsrv_vrele(nd.ni_vp); } out1: - nfsrv_vrele(vp); + nfsrv_vput(vp); nfsm_reply(0); nfsm_srvdone; } |