Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/kern Change vnode operations create, mknod, mkdir and sy...



details:   https://anonhg.NetBSD.org/src/rev/67fbdb6ed0f5
branches:  trunk
changeset: 326070:67fbdb6ed0f5
user:      hannken <hannken%NetBSD.org@localhost>
date:      Fri Jan 17 10:52:36 2014 +0000

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

Discussed on tech-kern@

diffstat:

 sys/kern/vnode_if.src |  22 +++++++++++++---------
 1 files changed, 13 insertions(+), 9 deletions(-)

diffs (76 lines):

diff -r f82c915019e8 -r 67fbdb6ed0f5 sys/kern/vnode_if.src
--- a/sys/kern/vnode_if.src     Fri Jan 17 09:09:40 2014 +0000
+++ b/sys/kern/vnode_if.src     Fri Jan 17 10:52:36 2014 +0000
@@ -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 @@
 };
 
 #
-#% 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 @@
 };
 
 #
-#% 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 @@
 };
 
 #
-#% 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;



Home | Main Index | Thread Index | Old Index