summaryrefslogtreecommitdiff
path: root/sys/kern/vnode_if.src
diff options
context:
space:
mode:
authorhannken <hannken@NetBSD.org>2014-01-17 10:52:36 +0000
committerhannken <hannken@NetBSD.org>2014-01-17 10:52:36 +0000
commitdd8eb3cca8e0ff897b7a99dbde4b4490ee955303 (patch)
treedea4088965268214b58f7952788523ff9d17ca90 /sys/kern/vnode_if.src
parent936088d2dc04c7b7173c69524915ccdc060186d5 (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.src22
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;