diff options
| author | hannken <hannken@NetBSD.org> | 2014-01-17 10:52:36 +0000 |
|---|---|---|
| committer | hannken <hannken@NetBSD.org> | 2014-01-17 10:52:36 +0000 |
| commit | dd8eb3cca8e0ff897b7a99dbde4b4490ee955303 (patch) | |
| tree | dea4088965268214b58f7952788523ff9d17ca90 /sys/kern/vnode_if.src | |
| parent | 936088d2dc04c7b7173c69524915ccdc060186d5 (diff) | |
Change vnode operations create, mknod, mkdir and symlink to keep the
directory node dvp locked on return.
Discussed on tech-kern@
Diffstat (limited to 'sys/kern/vnode_if.src')
| -rw-r--r-- | sys/kern/vnode_if.src | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/sys/kern/vnode_if.src b/sys/kern/vnode_if.src index f8a0baa286e..c1291a0e247 100644 --- a/sys/kern/vnode_if.src +++ b/sys/kern/vnode_if.src @@ -1,4 +1,4 @@ -# $NetBSD: vnode_if.src,v 1.63 2011/10/14 09:23:31 hannken Exp $ +# $NetBSD: vnode_if.src,v 1.64 2014/01/17 10:52:36 hannken Exp $ # # Copyright (c) 1992, 1993 # The Regents of the University of California. All rights reserved. @@ -88,26 +88,28 @@ vop_lookup { }; # -#% create dvp L U U +#% create dvp L L L #% create vpp - L - # #! create cnp CREATE, LOCKPARENT # vop_create { - IN LOCKED=YES WILLPUT struct vnode *dvp; + VERSION 2 + IN LOCKED=YES struct vnode *dvp; OUT WILLMAKE struct vnode **vpp; IN struct componentname *cnp; IN struct vattr *vap; }; # -#% mknod dvp L U U +#% mknod dvp L L L #% mknod vpp - L - # #! mknod cnp CREATE, LOCKPARENT # vop_mknod { - IN LOCKED=YES WILLPUT struct vnode *dvp; + VERSION 2 + IN LOCKED=YES struct vnode *dvp; OUT WILLMAKE struct vnode **vpp; IN struct componentname *cnp; IN struct vattr *vap; @@ -298,13 +300,14 @@ vop_rename { }; # -#% mkdir dvp L U U +#% mkdir dvp L L L #% mkdir vpp - L - # #! mkdir cnp CREATE, LOCKPARENT # vop_mkdir { - IN LOCKED=YES WILLPUT struct vnode *dvp; + VERSION 2 + IN LOCKED=YES struct vnode *dvp; OUT WILLMAKE struct vnode **vpp; IN struct componentname *cnp; IN struct vattr *vap; @@ -323,13 +326,14 @@ vop_rmdir { }; # -#% symlink dvp L U U +#% symlink dvp L L L #% symlink vpp - L - # #! symlink cnp CREATE, LOCKPARENT # vop_symlink { - IN LOCKED=YES WILLPUT struct vnode *dvp; + VERSION 2 + IN LOCKED=YES struct vnode *dvp; OUT WILLMAKE struct vnode **vpp; IN struct componentname *cnp; IN struct vattr *vap; |
