Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 03 Sep 2001 22:30:48 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Zhihui Zhang <zzhang@cs.binghamton.edu>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: What is VT_TFS?
Message-ID:  <3B946708.ECB7307B@mindspring.com>
References:  <Pine.SOL.4.21.0108311559170.16476-100000@opal>

next in thread | previous in thread | raw e-mail | index | archive | help
Zhihui Zhang wrote:
> 
> What is the file system that uses VT_TFS in vnode.h? Is it still available
> on FreeBSD?  Thanks.

Julian added it for TRW Financial Services; the first public
reference machine for 386BSD (which later became FreeBSD and
NetBSD) was ref.tfs.com.  TRW supported a lot of the early
386BSD/FreeBSD effort, back before Walnut Creek CDROM threw
in and had us change the version number from 0.1 to 1.0 to
make it a bit easier to sell.  The version numbers have been
bloating ever since...

The purpose of the new vnode type was to permit the VFS to own
the vnode, instead of having it owned by the OS, as a contended
resource (System V based systems, including UnixWare, Solaris,
etc., all give ownership of vnodes to the underlying VFS,
instead of having a system wide free vnode pool, like BSD
uses).  You'd have to ask Julian to be sure, but it may even
have been done to port TFS from a System V derived system.

Julian also did the original Adaptec SCSI controller support
for 386BSD/NetBSD/FreeBSD... this was back when FreeBSD was
really 386BSD (authored by Bill Jolitz) + the patchkit (that I
originally authored, before I foisted it off on Rod Grimes,
Nate Williams, and later Jordan Hubbard, and the original
"Unofficial FAQ" off on to Dave Burgess.

Technically, having the vnodes owned by the VFS is a much
better design, since it helps scaling to get away from the
global list, and you can allocated the incore inode and the
vnode as a single allocation unit.  It also helps with the
VFS stacking issues, by avoiding a stacked layer race that
can happen when you are low on the vnodes, when you have two
or more stacked layers.  It also lets you proxy calls across
the user/kernel boundary more easily, which lets you do neat
things like source level debug stacking layers entirely in
user space.


-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3B946708.ECB7307B>