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>