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;