Add comments to describe the lookup parameters needed in the various

component name fragments passed into VOP calls.
This commit is contained in:
wrstuden 1999-12-07 21:06:48 +00:00
parent 388112cd09
commit 7cbac78932
1 changed files with 33 additions and 3 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: vnode_if.src,v 1.21 1999/11/15 18:49:10 fvdl Exp $
# $NetBSD: vnode_if.src,v 1.22 1999/12/07 21:06:48 wrstuden Exp $
#
# Copyright (c) 1992, 1993
# The Regents of the University of California. All rights reserved.
@ -50,6 +50,10 @@
# =: the same on input and output, may be either L or U.
# X: locked if not nil.
#
# For operations other than VOP_LOOKUP which require a component name
# parameter, the flags required for the initial namei() call are listed.
# Additional flags may be added to the namei() call, but these are required.
#
#
#% lookup dvp L ? ?
@ -74,8 +78,8 @@
# last component name, dvp is returned unlocked on a successful
# lookup.
# On failure, *vpp is NULL, and *dvp is left locked. If there was
# an error re-locking dvp in the ISDOTDOT case, an error is
# returned with PDIRUNLOCK set.
# an error re-locking dvp (for instance in the ISDOTDOT case),
# the error is returned with PDIRUNLOCK set.
#
# *vpp is always locked on return if the operation succeeds.
# typically, if *vpp == dvp, you need to release twice, but unlock once.
@ -85,6 +89,9 @@
# be set on exit if either a successful lookup unlocked the
# parrent, or there was an error re-locking dvp in the ISDOTDOT case.
#
# See sys/sys/namei.h for a description of the SAVENAME and SAVESTART
# flags.
#
vop_lookup {
IN struct vnode *dvp;
INOUT struct vnode **vpp;
@ -95,6 +102,8 @@ vop_lookup {
#% create dvp L U U
#% create vpp - L -
#
#! create cnp CREATE, LOCKPARENT
#
vop_create {
IN WILLPUT struct vnode *dvp;
OUT struct vnode **vpp;
@ -106,6 +115,8 @@ vop_create {
#% mknod dvp L U U
#% mknod vpp - X -
#
#! mknod cnp CREATE, LOCKPARENT
#
vop_mknod {
IN WILLPUT struct vnode *dvp;
OUT WILLRELE struct vnode **vpp;
@ -258,6 +269,8 @@ vop_seek {
#% remove dvp L U U
#% remove vp L U U
#
#! remove cnp DELETE, LOCKPARENT | LOCKLEAF
#
vop_remove {
IN WILLPUT struct vnode *dvp;
IN WILLPUT struct vnode *vp;
@ -268,6 +281,8 @@ vop_remove {
#% link vp U U U
#% link tdvp L U U
#
#! link cnp CREATE, LOCKPARENT
#
vop_link {
IN WILLPUT struct vnode *dvp;
IN struct vnode *vp;
@ -280,6 +295,11 @@ vop_link {
#% rename tdvp L U U
#% rename tvp X U U
#
#! rename fcnp DELETE, WANTPARENT | SAVESTART
#! rename tcnp RENAME, LOCKPARENT | LOCKLEAF | NOCACHE | SAVESTART
#
# XXX the vop_rename routines should REALLY NOT be depending on SAVESTART!
#
vop_rename {
IN WILLRELE struct vnode *fdvp;
IN WILLRELE struct vnode *fvp;
@ -293,6 +313,8 @@ vop_rename {
#% mkdir dvp L U U
#% mkdir vpp - L -
#
#! mkdir cnp CREATE, LOCKPARENT
#
vop_mkdir {
IN WILLPUT struct vnode *dvp;
OUT struct vnode **vpp;
@ -304,6 +326,8 @@ vop_mkdir {
#% rmdir dvp L U U
#% rmdir vp L U U
#
#! rmdir cnp DELETE, LOCKPARENT | LOCKLEAF
#
vop_rmdir {
IN WILLPUT struct vnode *dvp;
IN WILLPUT struct vnode *vp;
@ -314,6 +338,8 @@ vop_rmdir {
#% symlink dvp L U U
#% symlink vpp - U -
#
#! symlink cnp CREATE, LOCKPARENT
#
# XXX - note that the return vnode has already been VRELE'ed
# by the filesystem layer. To use it you must use vget,
# possibly with a further namei.
@ -350,6 +376,8 @@ vop_readlink {
#
#% abortop dvp = = =
#
#! abortop cnp as appropriate.
#
vop_abortop {
IN struct vnode *dvp;
IN struct componentname *cnp;
@ -525,6 +553,8 @@ vop_lease {
#% whiteout cnp - - -
#% whiteout flag - - -
#
#! whiteout cnp CREATE, LOCKPARENT
#
vop_whiteout {
IN struct vnode *dvp;
IN struct componentname *cnp;