diff options
author | dfr <dfr@FreeBSD.org> | 1997-03-03 18:01:01 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 1997-03-03 18:01:01 +0000 |
commit | 7e67e1e73230219ea55118f095cc1800faf2c534 (patch) | |
tree | e33dd16a7d9cf5ad26d4f75d4b2d3db1b3d2fdd9 /share/man/man9/VOP_INACTIVE.9 | |
parent | 6c38eceeb9c3076678e4763e02440823894d2323 (diff) | |
download | FreeBSD-src-7e67e1e73230219ea55118f095cc1800faf2c534.zip FreeBSD-src-7e67e1e73230219ea55118f095cc1800faf2c534.tar.gz |
This is the current draft of my filesystem manpages. Some files are
incomplete and some are just placeholders but I wanted to try to get
something at least into 2.2 on the grounds that what I have is a lot
better than nothing. I also wanted to commit something which documents
the interfaces in 2.2 before I start updating the documentation for 3.0.
This is a definite 2.2 candidate and is also relavent to 2.1 if people
still care about that branch.
Diffstat (limited to 'share/man/man9/VOP_INACTIVE.9')
-rw-r--r-- | share/man/man9/VOP_INACTIVE.9 | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/share/man/man9/VOP_INACTIVE.9 b/share/man/man9/VOP_INACTIVE.9 new file mode 100644 index 0000000..c04c10d --- /dev/null +++ b/share/man/man9/VOP_INACTIVE.9 @@ -0,0 +1,95 @@ +.\" -*- 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. +.\" +.\" $Id$ +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_INACTIVE 9 +.Sh NAME +.Nm VOP_INACTIVE , +.Nm VOP_RECLAIM +.Nd reclaim filesystem resources for a vnode +.Sh SYNOPSIS +.Fd #include <sys/vnode.h> +.Ft int +.Fn VOP_INACTIVE "struct vnode *vp" +.Ft int +.Fn VOP_RECLAIM "struct vnode *vp" +.Sh DESCRIPTION +.Pp +The arguments are: +.Bl -tag -width vp +.It Ar vp +the vnode being reclaimed +.El +.Pp +.Xr VOP_INACTIVE 9 +is called when the kernel is no longer using the vnode. This may be +because the reference count reaches zero or it may be that the +filesystem is being forcibly unmounted while there are open files. +It can be used to reclaim space for 'open but deleted' files. +.Xr VOP_RECLAIM 9 +is called when a vnode is being reused for a different filesystem. +Any filesystem specific resources associated with the vnode should be +freed. +.Sh PSEUDOCODE +.Bd -literal +int +vop_inactive(struct vnode *vp) +{ + if (link count of vp == 0) { + /* + * Reclaim space in filesystem for vp. + */ + ...; + } + + return 0; +} + +int +vop_reclaim(struct vnode *vp) +{ + /* + * Clean out the name cache. + */ + cache_purge(vp); + + /* + * Free filesystem-related data. + */ + ...; + + return 0; +} +.Ed +.Sh SEE ALSO +.Xr vnode 9 +.Sh AUTHORS +This man page was written by Doug Rabson. |