From e0a4d029a5e99216510fb0bb55d50b38737531ca Mon Sep 17 00:00:00 2001 From: John Dyson Date: Fri, 21 Apr 1995 02:58:49 +0000 Subject: [PATCH] Slight re-ordering of the creation of a vmio object to fix a condition that can cause NFS I/O failures. --- sys/nfs/nfs_common.c | 6 ++++-- sys/nfs/nfs_subs.c | 6 ++++-- sys/nfsclient/nfs_subs.c | 6 ++++-- sys/nfsserver/nfs_srvsubs.c | 6 ++++-- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/sys/nfs/nfs_common.c b/sys/nfs/nfs_common.c index 03b0b03555d9..1497a82c002a 100644 --- a/sys/nfs/nfs_common.c +++ b/sys/nfs/nfs_common.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_subs.c 8.3 (Berkeley) 1/4/94 - * $Id: nfs_subs.c,v 1.11 1995/02/15 04:21:32 phk Exp $ + * $Id: nfs_subs.c,v 1.12 1995/03/16 18:15:39 bde Exp $ */ /* @@ -1122,9 +1122,11 @@ nfsrv_fhtovp(fhp, lockflag, vpp, cred, slp, nam, rdonlyp) *rdonlyp = 1; else *rdonlyp = 0; + + nfsrv_vmio(*vpp); + if (!lockflag) VOP_UNLOCK(*vpp); - nfsrv_vmio(*vpp); return (0); } diff --git a/sys/nfs/nfs_subs.c b/sys/nfs/nfs_subs.c index 03b0b03555d9..1497a82c002a 100644 --- a/sys/nfs/nfs_subs.c +++ b/sys/nfs/nfs_subs.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_subs.c 8.3 (Berkeley) 1/4/94 - * $Id: nfs_subs.c,v 1.11 1995/02/15 04:21:32 phk Exp $ + * $Id: nfs_subs.c,v 1.12 1995/03/16 18:15:39 bde Exp $ */ /* @@ -1122,9 +1122,11 @@ nfsrv_fhtovp(fhp, lockflag, vpp, cred, slp, nam, rdonlyp) *rdonlyp = 1; else *rdonlyp = 0; + + nfsrv_vmio(*vpp); + if (!lockflag) VOP_UNLOCK(*vpp); - nfsrv_vmio(*vpp); return (0); } diff --git a/sys/nfsclient/nfs_subs.c b/sys/nfsclient/nfs_subs.c index 03b0b03555d9..1497a82c002a 100644 --- a/sys/nfsclient/nfs_subs.c +++ b/sys/nfsclient/nfs_subs.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_subs.c 8.3 (Berkeley) 1/4/94 - * $Id: nfs_subs.c,v 1.11 1995/02/15 04:21:32 phk Exp $ + * $Id: nfs_subs.c,v 1.12 1995/03/16 18:15:39 bde Exp $ */ /* @@ -1122,9 +1122,11 @@ nfsrv_fhtovp(fhp, lockflag, vpp, cred, slp, nam, rdonlyp) *rdonlyp = 1; else *rdonlyp = 0; + + nfsrv_vmio(*vpp); + if (!lockflag) VOP_UNLOCK(*vpp); - nfsrv_vmio(*vpp); return (0); } diff --git a/sys/nfsserver/nfs_srvsubs.c b/sys/nfsserver/nfs_srvsubs.c index 03b0b03555d9..1497a82c002a 100644 --- a/sys/nfsserver/nfs_srvsubs.c +++ b/sys/nfsserver/nfs_srvsubs.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_subs.c 8.3 (Berkeley) 1/4/94 - * $Id: nfs_subs.c,v 1.11 1995/02/15 04:21:32 phk Exp $ + * $Id: nfs_subs.c,v 1.12 1995/03/16 18:15:39 bde Exp $ */ /* @@ -1122,9 +1122,11 @@ nfsrv_fhtovp(fhp, lockflag, vpp, cred, slp, nam, rdonlyp) *rdonlyp = 1; else *rdonlyp = 0; + + nfsrv_vmio(*vpp); + if (!lockflag) VOP_UNLOCK(*vpp); - nfsrv_vmio(*vpp); return (0); }