Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 09 Mar 1998 13:47:12 +0300
From:      Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>
To:        Nate Williams <nate@mt.sri.com>
Cc:        Terry Lambert <tlambert@primenet.com>, current@FreeBSD.ORG
Subject:   Re: vnode_pager: *** WARNING *** stale FS code in system 
Message-ID:  <199803091047.NAA03211@tejblum.dnttm.rssi.ru>
In-Reply-To: Your message of "Sun, 08 Mar 1998 22:17:40 MST." <199803090517.WAA15531@mt.sri.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Nate Williams wrote:

> In short, you are attempting to make local media FS's the 'base class'
> for all FS (using C++ vernacular).  As Base Classes, they must
> implement/define *everything* for all classes, and that all other
> 'stackable' FS's can inherit from the base class.

Stacking layers *is not* an analogy of inheritance. Stacking layers is 
analogy of event-passing in GUI, or "filters" in Unix pipes, or some 
such. Every widget, of course, must handle every possible event. But some 
widget are designed especially to dispatch events to other widgets. 
This dispatching is a way of handling. Both widgets are finished stuff, 
unlike a derived class without a base class. Or, as example of a layer, 
consider a program that read a text file, handle lines started with '#', 
and print other lines in slightly modified form to output. It is a finished 
program too. You cannot say that it inherit from the program which 
read and handle its output.

But there is real inheritance in filesystems. For example, FIFOs in 
FFS, FIFOs in NFS, FIFOs in CD9660, etc. is all derived from a generic 
FIFO.

Terry wants that all filesystems handle GETPAGES/PUTPAGES. This is 
fine. I simple don't like that he put his 'default' junk in zillion 
filesystems, instead of put it in an appropriate base class.

Dima



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



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