Date: Mon, 14 Jun 1999 16:07:03 -0400 (EDT) From: "David E. Cross" <crossd@cs.rpi.edu> To: crossd@cs.rpi.edu, freebsd-hackers@freebsd.org, schimken@cs.rpi.edu Subject: oops, here's the patch Message-ID: <199906142007.QAA62362@wobble.cs.rpi.edu>
next in thread | raw e-mail | index | archive | help
*** nfs_serv.c Tue Jun 8 15:53:11 1999
--- /cs/crossd/nfs_serv.c Mon Jun 14 16:05:45 1999
***************
*** 1343,1348 ****
--- 1343,1349 ----
fhandle_t *fhp;
u_quad_t frev, tempsize;
u_char cverf[NFSX_V3CREATEVERF];
+ int eexistdebug=0;
#ifndef nolint
rdev = 0;
***************
*** 1380,1385 ****
--- 1381,1387 ----
case NFSV3CREATE_GUARDED:
if (nd.ni_vp) {
error = EEXIST;
+ eexistdebug=1;
break;
}
case NFSV3CREATE_UNCHECKED:
***************
*** 1489,1497 ****
vrele(nd.ni_startdir);
zfree(namei_zone, nd.ni_cnd.cn_pnbuf);
vp = nd.ni_vp;
! if (nd.ni_dvp == vp)
vrele(nd.ni_dvp);
! else
vput(nd.ni_dvp);
VOP_ABORTOP(nd.ni_dvp, &nd.ni_cnd);
if (vap->va_size != -1) {
--- 1491,1499 ----
vrele(nd.ni_startdir);
zfree(namei_zone, nd.ni_cnd.cn_pnbuf);
vp = nd.ni_vp;
! if (nd.ni_dvp == vp)
vrele(nd.ni_dvp);
! else
vput(nd.ni_dvp);
VOP_ABORTOP(nd.ni_dvp, &nd.ni_cnd);
if (vap->va_size != -1) {
***************
*** 1505,1513 ****
error = VOP_SETATTR(vp, vap, cred,
procp);
}
! if (error)
vput(vp);
}
}
if (!error) {
bzero((caddr_t)fhp, sizeof(nfh));
--- 1507,1516 ----
error = VOP_SETATTR(vp, vap, cred,
procp);
}
! if (error)
vput(vp);
}
+ if (eexistdebug) vput(vp);
}
if (!error) {
bzero((caddr_t)fhp, sizeof(nfh));
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199906142007.QAA62362>
