From owner-freebsd-hackers Mon Sep 3 22:30:24 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from snipe.mail.pas.earthlink.net (snipe.mail.pas.earthlink.net [207.217.120.62]) by hub.freebsd.org (Postfix) with ESMTP id 4C56F37B407 for ; Mon, 3 Sep 2001 22:30:21 -0700 (PDT) Received: from mindspring.com (dialup-209.247.140.38.Dial1.SanJose1.Level3.net [209.247.140.38]) by snipe.mail.pas.earthlink.net (8.11.5/8.9.3) with ESMTP id f845U4T05792; Mon, 3 Sep 2001 22:30:05 -0700 (PDT) Message-ID: <3B946708.ECB7307B@mindspring.com> Date: Mon, 03 Sep 2001 22:30:48 -0700 From: Terry Lambert Reply-To: tlambert2@mindspring.com X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Zhihui Zhang Cc: freebsd-hackers@freebsd.org Subject: Re: What is VT_TFS? References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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