summaryrefslogtreecommitdiffstats
path: root/sys/miscfs/devfs/devfs_vnops.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/miscfs/devfs/devfs_vnops.c')
-rw-r--r--sys/miscfs/devfs/devfs_vnops.c37
1 files changed, 11 insertions, 26 deletions
diff --git a/sys/miscfs/devfs/devfs_vnops.c b/sys/miscfs/devfs/devfs_vnops.c
index 6c9bae7..c35d63f 100644
--- a/sys/miscfs/devfs/devfs_vnops.c
+++ b/sys/miscfs/devfs/devfs_vnops.c
@@ -24,7 +24,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: devfs_vnops.c,v 1.53 1998/03/26 20:52:12 phk Exp $
+ * $Id: devfs_vnops.c,v 1.54 1998/04/19 23:32:17 julian Exp $
*/
@@ -320,7 +320,6 @@ devfs_create(struct vop_mknod_args *ap)
} */
{
DBPRINT(("create\n"));
- vput(ap->a_dvp);
return EINVAL;
}
@@ -773,18 +772,12 @@ DBPRINT(("remove\n"));
* are the end of the path. Get pointers to all our
* devfs structures.
*/
- if ( error = devfs_vntodn(dvp,&tdp)) {
+ if (error = devfs_vntodn(dvp, &tdp)) {
abortit:
VOP_ABORTOP(dvp, cnp);
- if (dvp == vp) /* eh? */
- vrele(dvp);
- else
- vput(dvp);
- if (vp)
- vput(vp);
return (error);
}
- if ( error = devfs_vntodn(vp,&tp)) goto abortit;
+ if (error = devfs_vntodn(vp, &tp)) goto abortit;
/*
* Assuming we are atomic, dev_lookup left this for us
*/
@@ -846,8 +839,6 @@ abortit:
}
dev_free_name(tnp);
tp = NULL;
- vput(vp);
- vput(dvp);
return (error);
}
@@ -915,7 +906,6 @@ abortit:
fp,
&tnp);
out:
- vput(tdvp);
return (error);
}
@@ -1186,9 +1176,7 @@ devfs_rmdir(struct vop_rmdir_args *ap)
} */
{
DBPRINT(("rmdir\n"));
- vput(ap->a_dvp);
- vput(ap->a_vp);
- return 0;
+ return (0);
}
#endif
@@ -1202,30 +1190,27 @@ devfs_symlink(struct vop_symlink_args *ap)
char *a_target;
} */
{
- int err;
+ struct vnode *vp;
+ int error;
dn_p dnp;
union typeinfo by;
devnm_p nm_p;
- struct vnode *vp;
DBPRINT(("symlink\n"));
- if(err = devfs_vntodn(ap->a_dvp,&dnp)) {
- vput(ap->a_dvp);
- return err;
+ if(error = devfs_vntodn(ap->a_dvp, &dnp)) {
+ return (error);
}
by.Slnk.name = ap->a_target;
by.Slnk.namelen = strlen(ap->a_target);
- dev_add_entry( ap->a_cnp->cn_nameptr, dnp, DEV_SLNK, &by,
+ dev_add_entry(ap->a_cnp->cn_nameptr, dnp, DEV_SLNK, &by,
NULL, NULL, &nm_p);
- if(err = devfs_dntovn(nm_p->dnp,&vp) ) {
- vput(ap->a_dvp);
- return err;
+ if(error = devfs_dntovn(nm_p->dnp, &vp)) {
+ return (error);
}
VOP_SETATTR(vp, ap->a_vap, ap->a_cnp->cn_cred, ap->a_cnp->cn_proc);
*ap->a_vpp = NULL;
vput(vp);
- vput(ap->a_dvp);
return 0;
}
OpenPOWER on IntegriCloud