diff options
author | eivind <eivind@FreeBSD.org> | 1999-11-13 20:58:17 +0000 |
---|---|---|
committer | eivind <eivind@FreeBSD.org> | 1999-11-13 20:58:17 +0000 |
commit | 4ce73d70968875fa0c07f07e90a2bdcb84726bd6 (patch) | |
tree | 1a5eba3223a453fbc8060d31521181433ce7f3f3 /sys/miscfs | |
parent | 91b25fa7a9d94c9097d6ebf1d8ec6b1a332f8e04 (diff) | |
download | FreeBSD-src-4ce73d70968875fa0c07f07e90a2bdcb84726bd6.zip FreeBSD-src-4ce73d70968875fa0c07f07e90a2bdcb84726bd6.tar.gz |
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.
Diffstat (limited to 'sys/miscfs')
-rw-r--r-- | sys/miscfs/devfs/devfs_vnops.c | 8 | ||||
-rw-r--r-- | sys/miscfs/union/union_vnops.c | 7 |
2 files changed, 5 insertions, 10 deletions
diff --git a/sys/miscfs/devfs/devfs_vnops.c b/sys/miscfs/devfs/devfs_vnops.c index 96252d4..d64ce80 100644 --- a/sys/miscfs/devfs/devfs_vnops.c +++ b/sys/miscfs/devfs/devfs_vnops.c @@ -1069,7 +1069,6 @@ devfs_symlink(struct vop_symlink_args *ap) char *a_target; } */ { - struct vnode *vp; int error; dn_p dnp; union typeinfo by; @@ -1084,12 +1083,11 @@ DBPRINT(("symlink\n")); by.Slnk.namelen = strlen(ap->a_target); dev_add_entry(ap->a_cnp->cn_nameptr, dnp, DEV_SLNK, &by, NULL, NULL, &nm_p); - if((error = devfs_dntovn(nm_p->dnp, &vp)) != 0) { + if((error = devfs_dntovn(nm_p->dnp, ap->a_vpp)) != 0) { return (error); } - VOP_SETATTR(vp, ap->a_vap, ap->a_cnp->cn_cred, ap->a_cnp->cn_proc); - *ap->a_vpp = NULL; - vput(vp); + VOP_SETATTR(*ap->a_vpp, ap->a_vap, ap->a_cnp->cn_cred, + ap->a_cnp->cn_proc); return 0; } diff --git a/sys/miscfs/union/union_vnops.c b/sys/miscfs/union/union_vnops.c index a7af32b..7f9d8ee 100644 --- a/sys/miscfs/union/union_vnops.c +++ b/sys/miscfs/union/union_vnops.c @@ -1622,11 +1622,8 @@ union_symlink(ap) int error = EROFS; if ((dvp = union_lock_upper(dun, p)) != NULLVP) { - struct vnode *vp; - - error = VOP_SYMLINK(dvp, &vp, cnp, ap->a_vap, ap->a_target); - /* vp is garbage whether an error occurs or not */ - *ap->a_vpp = NULLVP; + error = VOP_SYMLINK(dvp, ap->a_vpp, cnp, ap->a_vap, + ap->a_target); union_unlock_upper(dvp, p); } return (error); |