diff options
author | dillon <dillon@FreeBSD.org> | 1999-09-24 17:11:02 +0000 |
---|---|---|
committer | dillon <dillon@FreeBSD.org> | 1999-09-24 17:11:02 +0000 |
commit | 5fa67996713a534f4e3dfdd3ad651a243e040786 (patch) | |
tree | 2099feb9b032337f51df60435815fae5e1c87414 /share | |
parent | df3104f6f2e8f1484019cbd3d7a64676358fe59d (diff) | |
download | FreeBSD-src-5fa67996713a534f4e3dfdd3ad651a243e040786.zip FreeBSD-src-5fa67996713a534f4e3dfdd3ad651a243e040786.tar.gz |
More locking clarifications. Add skeleton manual page for VOP_LEASE
Diffstat (limited to 'share')
-rw-r--r-- | share/man/man9/Makefile | 2 | ||||
-rw-r--r-- | share/man/man9/VOP_LEASE.9 | 57 | ||||
-rw-r--r-- | share/man/man9/VOP_LINK.9 | 12 | ||||
-rw-r--r-- | share/man/man9/VOP_RENAME.9 | 12 |
4 files changed, 72 insertions, 11 deletions
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile index 81cca87..a05efb6 100644 --- a/share/man/man9/Makefile +++ b/share/man/man9/Makefile @@ -5,7 +5,7 @@ MAN9= MD5.9 \ VFS_ROOT.9 VFS_START.9 VFS_STATFS.9 VFS_SYNC.9 VFS_UNMOUNT.9 \ VFS_VGET.9 VFS_VPTOFH.9 VFS_CHECKEXP.9 \ VOP_ABORTOP.9 VOP_ACCESS.9 VOP_ADVLOCK.9 VOP_ATTRIB.9 \ - VOP_BWRITE.9 VOP_CREATE.9 VOP_FSYNC.9 \ + VOP_BWRITE.9 VOP_CREATE.9 VOP_FSYNC.9 VOP_LEASE.9 \ VOP_GETPAGES.9 VOP_INACTIVE.9 VOP_IOCTL.9 VOP_LINK.9 \ VOP_LOCK.9 VOP_LOOKUP.9 VOP_MMAP.9 VOP_OPENCLOSE.9 \ VOP_PATHCONF.9 VOP_PRINT.9 VOP_RDWR.9 VOP_READDIR.9 \ diff --git a/share/man/man9/VOP_LEASE.9 b/share/man/man9/VOP_LEASE.9 new file mode 100644 index 0000000..115c798 --- /dev/null +++ b/share/man/man9/VOP_LEASE.9 @@ -0,0 +1,57 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 1996 Doug Rabson +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd Sep 24, 1999 +.Os +.Dt VOP_LEASE 9 +.Sh NAME +.Nm VOP_LEASE +.Nd Validates a vnode for a particular set of credentials and operation type +.Sh SYNOPSIS +.Ft int +.Fn VOP_LEASE "struct vnode *vp" "struct proc *p" "struct ucred *cred" "int type" +.Sh DESCRIPTION +This entry point is currently not implemented. I believe the idea is to +validate a vnode for a particular set of user credentials and operation type. +The two operation types supported are LEASE_READ and LEASE_WRITE. The +function currently always returns 0. +.Pp +.Sh LOCKS +The vnode must be exclusively locked on entry, and should remain exclusively +locked on return. +.Sh RETURN VALUES +If successful, zero is returned. Otherwise, well... zero is returned too. +.Sh ERRORS +.Sh SEE ALSO +.Xr VOP_READ 9 , +.Xr VOP_WRITE 9 +.Sh AUTHORS +This man page was written by +.An Matt Dillon . diff --git a/share/man/man9/VOP_LINK.9 b/share/man/man9/VOP_LINK.9 index 0d046dcf..463dc80 100644 --- a/share/man/man9/VOP_LINK.9 +++ b/share/man/man9/VOP_LINK.9 @@ -60,9 +60,10 @@ The directory, is locked on entry and should remain locked on return. The file .Fa vp -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. +is not locked on entry and should remain that way on return. +If your VOP code locks +.Fa vp , +it must be sure to unlock prior to returning. .Sh RETURN VALUES Zero is returned if the file was linked successfully, otherwise an error is returned. @@ -126,7 +127,8 @@ out2: the file is immutable .El .Sh SEE ALSO -.Xr vnode 9 +.Xr vnode 9 , +.Xr vn_lock 9 .Sh AUTHORS -This man page was written by +This man page was originally written by .An Doug Rabson . diff --git a/share/man/man9/VOP_RENAME.9 b/share/man/man9/VOP_RENAME.9 index c210b77..bcc5d96 100644 --- a/share/man/man9/VOP_RENAME.9 +++ b/share/man/man9/VOP_RENAME.9 @@ -59,11 +59,13 @@ the vnode of the target file (if it exists) pathname information about the file's new name .El .Sh LOCKS -The source directory and file will have their ref count bumped on entry. -The destination directory and file will be locked and referenced on entry. -The procedure must release (not unlock) the source directory and file, -and must relase and unlock (i.e. vput) the destination directory and file -prior to return. +The source directory and file are unlocked but are expected to have their +ref count bumped on entry. The VOP routine is expected to vrele() both prior +to returning. +.Pp +The destination directory and file are locked as well as having their ref +count bumped. The VOP routine is expected to vput() both prior to +returning. .Sh PSEUDOCODE .Bd -literal int |