aboutsummaryrefslogtreecommitdiff
path: root/sys/coda
diff options
context:
space:
mode:
authorEivind Eklund <eivind@FreeBSD.org>1999-11-13 20:58:17 +0000
committerEivind Eklund <eivind@FreeBSD.org>1999-11-13 20:58:17 +0000
commitdd8c04f4c7b9354c57ae38ef2822d7ae408c6a62 (patch)
tree1a5eba3223a453fbc8060d31521181433ce7f3f3 /sys/coda
parent3973dacdb3c1352e59e625aec18dba27a01461bc (diff)
downloadsrc-dd8c04f4c7b9354c57ae38ef2822d7ae408c6a62.tar.gz
src-dd8c04f4c7b9354c57ae38ef2822d7ae408c6a62.zip
Remove WILLRELE from VOP_SYMLINK
Note: Previous commit to these files (except coda_vnops and devfs_vnops) that claimed to remove WILLRELE from VOP_RENAME actually removed it from VOP_MKNOD.
Notes
Notes: svn path=/head/; revision=53131
Diffstat (limited to 'sys/coda')
-rw-r--r--sys/coda/coda_vnops.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/coda/coda_vnops.c b/sys/coda/coda_vnops.c
index 6614b4b2c508..5f86c09a9185 100644
--- a/sys/coda/coda_vnops.c
+++ b/sys/coda/coda_vnops.c
@@ -1578,6 +1578,7 @@ coda_symlink(v)
char *path = ap->a_target;
struct ucred *cred = cnp->cn_cred;
struct proc *p = cnp->cn_proc;
+ struct vnode **vpp = ap->a_vpp;
/* locals */
int error;
/*
@@ -1590,7 +1591,6 @@ coda_symlink(v)
int len = cnp->cn_namelen;
int plen = strlen(path);
- /* XXX What about the vpp argument? Do we need it? */
/*
* Here's the strategy for the moment: perform the symlink, then
* do a lookup to grab the resulting vnode. I know this requires
@@ -1625,12 +1625,8 @@ coda_symlink(v)
/* Invalidate the parent's attr cache, the modification time has changed */
tdcp->c_flags &= ~C_VATTR;
- /*
- * Free the name buffer
- */
- if ((cnp->cn_flags & SAVESTART) == 0) {
- zfree(namei_zone, cnp->cn_pnbuf);
- }
+ if (error == 0)
+ error = VOP_LOOKUP(tdvp, vpp, cnp);
exit:
CODADEBUG(CODA_SYMLINK, myprintf(("in symlink result %d\n",error)); )