Go to file
Mike Smith 34bdbbd0de The intent is to get rid of WILLRELE in vnode_if.src by making
a complement to all ops that return a vpp, VFS_VRELE.  This is
initially only for file systems that implement the following ops
that do a WILLRELE:

	vop_create, vop_whiteout, vop_mknod, vop_remove, vop_link,
	vop_rename, vop_mkdir, vop_rmdir, vop_symlink

This is initial DNA that doesn't do anything yet.  VFS_VRELE is
implemented but not called.

A default vfs_vrele was created for fs implementations that use the
standard vnode management routines.

VFS_VRELE implementations were made for the following file systems:

Standard (vfs_vrele)
	ffs mfs nfs msdosfs devfs ext2fs

Custom
	union umapfs

Just EOPNOTSUPP
	fdesc procfs kernfs portal cd9660

These implementations may change as VOP changes are implemented.

In the next phase, in the vop implementations calls to vrele and the vrele
part of vput will be moved to the top layer vfs_vnops and made visible
to all layers.  vput will be replaced by unlock in these cases.  Unlocking
will still be done in the per fs layer but the refcount decrement will be
triggered at the top because it doesn't hurt to hold a vnode reference a
little longer.  This will have minimal impact on the structure of the
existing code.

This will only be done for vnode arguments that are released by the various
fs vop implementations.

Wider use of VFS_VRELE will likely require restructuring of the code.

Reviewed by:	phk, dyson, terry et. al.
Submitted by:	Michael Hancock <michaelh@cet.co.jp>
1998-03-01 22:46:53 +00:00
bin Don't assume sigset_t and int are equivalent. 1998-02-28 10:50:02 +00:00
contrib Add #include <string.h> to get prototypes. 1998-02-20 07:48:36 +00:00
crypto
etc Add new directories needed by the ELF tools. 1998-03-01 22:45:44 +00:00
games Wargh! Who went and changed all the getopt() comparisons from -1 to 1998-03-01 05:10:28 +00:00
gnu Don't add streambuf.cc to SRCS twice. 1998-02-25 01:23:28 +00:00
include Moved include of <sys/cdefs.h> earlier for the same reasons as moving 1998-02-27 06:12:47 +00:00
kerberos5
kerberosIV
lib Replace previous commit with a check disallowing ptr from running 1998-03-01 18:49:37 +00:00
libexec PR: 5812 1998-02-25 07:10:57 +00:00
lkm Don't add files handled by bsd.kmod.mk to CLEANFILES. Don't add never- 1998-02-25 01:40:55 +00:00
release Edit a message so that people stop sending me weird emails. :) 1998-02-22 09:54:17 +00:00
sbin Andreas Klemm reported that 2 hours are too few to format a 9 GB 1998-03-01 20:15:00 +00:00
secure
share Make it possible to indicate that we don't care about the remote 1998-02-28 21:01:09 +00:00
sys The intent is to get rid of WILLRELE in vnode_if.src by making 1998-03-01 22:46:53 +00:00
tools
usr.bin Fix a few minor typos and style nits. 1998-03-01 18:58:03 +00:00
usr.sbin Don't assume sigset_t and int are equivalent. Also, get 1998-02-28 15:14:00 +00:00
COPYRIGHT
Makefile Change the bootstrap makefile inclusion to be general based on the 1998-02-19 07:34:46 +00:00
Makefile.alpha With the exception of tools that should come from GNU binutils, 1998-02-19 07:25:03 +00:00
README

This is the top level of the FreeBSD source directory.  This file
was last revised on: $Id: README,v 1.10 1997/02/23 09:18:39 peter Exp $

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree, the most
commonly used one being ``world'', which rebuilds and installs
everything in the FreeBSD system from the source tree except the
kernel and the contents of /etc.  Please see the top of the Makefile
in this directory for more information on the standard build targets
and compile-time flags.

Building a kernel with config(8) is a somewhat more involved process,
documentation for which can be found at:
   http://www.freebsd.org/handbook/kernelconfig.html
And in the config(8) man page.

The sample kernel configuration files reside in the sys/i386/conf
sub-directory (assuming that you've installed the kernel sources), the
file named GENERIC being the one used to build your initial installation
kernel.  The file LINT contains entries for all possible devices, not
just those commonly used, and is meant more as a general reference
than an actual kernel configuration file (a kernel built from it
wouldn't even run).


Source Roadmap:
---------------
bin		System/User commands.

contrib		Packages contributed by 3rd parties.

eBones		Kerberos package - NOT FOR EXPORT!

etc		Template files for /etc

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

lib		System libraries.

libexec		System daemons.

lkm		Loadable Kernel Modules.

release		Release building Makefile & associated tools.

sbin		System commands.

secure		DES and DES-related utilities - NOT FOR EXPORT!

share		Shared resources.

sys		Kernel sources.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/handbook/synching.html