Module Name:    src
Committed By:   hannken
Date:           Fri Jan 17 10:52:36 UTC 2014

Modified Files:
        src/sys/kern: vnode_if.src

Log Message:
Change vnode operations create, mknod, mkdir and symlink to keep the
directory node dvp locked on return.

Discussed on tech-kern@


To generate a diff of this commit:
cvs rdiff -u -r1.63 -r1.64 src/sys/kern/vnode_if.src

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/kern/vnode_if.src
diff -u src/sys/kern/vnode_if.src:1.63 src/sys/kern/vnode_if.src:1.64
--- src/sys/kern/vnode_if.src:1.63	Fri Oct 14 09:23:31 2011
+++ src/sys/kern/vnode_if.src	Fri Jan 17 10:52:36 2014
@@ -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;

Reply via email to