diff options
author | svn2git <svn2git@FreeBSD.org> | 1994-07-01 08:00:00 +0000 |
---|---|---|
committer | svn2git <svn2git@FreeBSD.org> | 1994-07-01 08:00:00 +0000 |
commit | 5e0e9b99dc3fc0ecd49d929db0d57c784b66f481 (patch) | |
tree | e779b5a6edddbb949b7990751b12d6f25304ba86 /sys/nfs/nfs_serv.c | |
parent | a16f65c7d117419bd266c28a1901ef129a337569 (diff) |
Diffstat (limited to 'sys/nfs/nfs_serv.c')
-rw-r--r-- | sys/nfs/nfs_serv.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/sys/nfs/nfs_serv.c b/sys/nfs/nfs_serv.c index 6205a268448e..20f7015c1f26 100644 --- a/sys/nfs/nfs_serv.c +++ b/sys/nfs/nfs_serv.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * From: @(#)nfs_serv.c 7.40 (Berkeley) 5/15/91 - * $Id: nfs_serv.c,v 1.5 1993/12/19 00:54:12 wollman Exp $ + * $Id: nfs_serv.c,v 1.6 1994/06/11 23:33:53 karl Exp $ */ /* @@ -667,10 +667,16 @@ nfsrv_create(mrep, md, dpos, cred, xid, mrq, repstat, p) vput(nd.ni_dvp); VOP_ABORTOP(&nd); vap->va_size = fxdr_unsigned(long, *(tl+3)); /* 28 Aug 92*/ -/* 08 Sep 92*/ if (vap->va_size != -1 && (error = VOP_SETATTR(vp, vap, cred, p))) { - vput(vp); - nfsm_reply(0); - } + if (vap->va_size != -1) { + if (error = nfsrv_access(vp, VWRITE, cred, p)) { + vput(vp); + nfsm_reply(0); + } + if (error = VOP_SETATTR(vp, vap, cred, p)) { + vput(vp); + nfsm_reply(0); + } + } } bzero((caddr_t)fhp, sizeof(nfh)); fhp->fh_fsid = vp->v_mount->mnt_stat.f_fsid; |