summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authordillon <dillon@FreeBSD.org>1999-09-24 07:07:02 +0000
committerdillon <dillon@FreeBSD.org>1999-09-24 07:07:02 +0000
commit609f54c951188af186c30e759ae8b70731e6cbae (patch)
tree47c9ac7c8deb07c64e08946d540fe2ee9d110efb /share
parent044d3b94b652491637d6b81817e165adb8dce612 (diff)
downloadFreeBSD-src-609f54c951188af186c30e759ae8b70731e6cbae.zip
FreeBSD-src-609f54c951188af186c30e759ae8b70731e6cbae.tar.gz
Update errors in documentation for various VOP_ calls. Specifically,
describe the correct locking state expected on entry and return.
Diffstat (limited to 'share')
-rw-r--r--share/man/man9/VOP_ABORTOP.93
-rw-r--r--share/man/man9/VOP_CREATE.92
-rw-r--r--share/man/man9/VOP_INACTIVE.99
-rw-r--r--share/man/man9/VOP_LINK.99
-rw-r--r--share/man/man9/VOP_REMOVE.92
5 files changed, 18 insertions, 7 deletions
diff --git a/share/man/man9/VOP_ABORTOP.9 b/share/man/man9/VOP_ABORTOP.9
index 4cfe66f..6f9171b 100644
--- a/share/man/man9/VOP_ABORTOP.9
+++ b/share/man/man9/VOP_ABORTOP.9
@@ -66,6 +66,9 @@ vop_abortop(struct vnode *dvp, struct componentname *cnp)
return 0;
}
.Ed
+.Sh LOCKS
+.Fa dvp
+should be locked on entry and remain locked on return.
.Sh SEE ALSO
.Xr vnode 9
.Sh AUTHORS
diff --git a/share/man/man9/VOP_CREATE.9 b/share/man/man9/VOP_CREATE.9
index ddffbe1..cbf8949 100644
--- a/share/man/man9/VOP_CREATE.9
+++ b/share/man/man9/VOP_CREATE.9
@@ -88,7 +88,7 @@ flag is specified in
.Sh LOCKS
The directory,
.Fa dvp
-should be locked on entry and will be unlocked and released on exit.
+will be locked on entry and must remain locked on return.
If the call is successful, the new object will be returned locked,
unless the call is
.Xr VOP_MKNOD 9
diff --git a/share/man/man9/VOP_INACTIVE.9 b/share/man/man9/VOP_INACTIVE.9
index 95d21db..e9546ef 100644
--- a/share/man/man9/VOP_INACTIVE.9
+++ b/share/man/man9/VOP_INACTIVE.9
@@ -59,6 +59,14 @@ It can be used to reclaim space for 'open but deleted' files.
is called when a vnode is being reused for a different filesystem.
Any filesystem specific resources associated with the vnode should be
freed.
+.Sh LOCKS
+.Pp
+For VOP_INACTIVE, the vp will be locked on entry. Your VOP_INACTIVE code
+must unlock the vp prior to returning.
+.Pp
+For VOP_RECLAIM, the vp will not be locked on entry and should be left
+unlocked on return.
+.Pp
.Sh PSEUDOCODE
.Bd -literal
int
@@ -70,6 +78,7 @@ vop_inactive(struct vnode *vp)
*/
...;
}
+ VOP_UNLOCK(vp, 0, p);
return 0;
}
diff --git a/share/man/man9/VOP_LINK.9 b/share/man/man9/VOP_LINK.9
index 0eba06e..0d046dcf 100644
--- a/share/man/man9/VOP_LINK.9
+++ b/share/man/man9/VOP_LINK.9
@@ -57,13 +57,12 @@ file vnodes should NOT be released on exit.
.Sh LOCKS
The directory,
.Fa dvp
-is locked on entry. The caller will unlock and release the directory
-on return. The VOP routine should not try to unlock or release
-the directory.
+is locked on entry and should remain locked on return.
The file
.Fa vp
-is not locked on entry. If the VOP routine locks it, it must remember
-to unlock it prior to returning.
+is not locked on entry and should be left unlocked on return.
+If the VOP routine locks the file, it must remember to unlock it
+prior to returning.
.Sh RETURN VALUES
Zero is returned if the file was linked successfully, otherwise an
error is returned.
diff --git a/share/man/man9/VOP_REMOVE.9 b/share/man/man9/VOP_REMOVE.9
index 05a7e45..86a8f06 100644
--- a/share/man/man9/VOP_REMOVE.9
+++ b/share/man/man9/VOP_REMOVE.9
@@ -59,7 +59,7 @@ Both
.Fa dvp
and
.Fa vp
-should be locked on entry and are unlocked and released on exit.
+should be locked on entry and remain locked on return.
.Sh RETURN VALUES
Zero is returned on success, otherwise an error code is returned.
.Sh PSEUDOCODE
OpenPOWER on IntegriCloud