From owner-freebsd-hackers Thu Jan 7 19:48:08 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id TAA23517 for freebsd-hackers-outgoing; Thu, 7 Jan 1999 19:48:08 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from apollo.backplane.com (apollo.backplane.com [209.157.86.2]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id TAA23510 for ; Thu, 7 Jan 1999 19:48:04 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.1/8.9.1) id TAA37034; Thu, 7 Jan 1999 19:47:28 -0800 (PST) (envelope-from dillon) Date: Thu, 7 Jan 1999 19:47:28 -0800 (PST) From: Matthew Dillon Message-Id: <199901080347.TAA37034@apollo.backplane.com> To: Terry Lambert Cc: tlambert@primenet.com, pfgiffun@bachue.usc.unal.edu.co, freebsd-hackers@FreeBSD.ORG Subject: Re: questions/problems with vm_fault() in Stable Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG :........... : :My personal preference for this would be to only expose the :underlying FS layer through a notification layer -- disallow :the notification layer from the underlying FS having promiscous :exposure, and allow mounting on top of either a non-exposed OR :a notification layer that may or may not be exposed. The answer is that you need a general purpose cache coherency protocol that you can count on to propogate throughout the VFS layering. *NOT* an ad-hoc implemention in one VFS layer and another ad-hoc implementation in another. What the VFS layer does on its backend -- if implementing a network protocol such as AFS, NFS, CODA, or something like that, is up to it. Those protocols may have their own cache coherency protocols for their network interfaces, but is has very little to do with the cache coherency protocol that needs to be implemented between VFS layers. :(2) MNFS manages distribute cache coherency across a network : within the context of the existing framework. MNFS is an externalized protocol, just as CODA and standard NFS are. What they implement in their network layer is very different from what they have to deal with in their VFS layer. For example, lets say you export a UFS filesystem via MNFS. Ok, fine... now lets say you import an MNFS filesystem and then re-export it to another machine, and that machine imports it and then re-export it to yet another machine. Will cache coherency be maintained across the chain with MNFS? Without a general cache-coherency protocol for inter-layer VFS it can't unless MNFS short-circuits the protocol. Fine, so now mix protocols... you have a combination of MNFS, AFS, and CODA mounts done in a chain. Lets say each one of these has cache coherency. Will the coherency be maintained across the chain? Nope, it won't. Not unless the VFS layer implements a general cache coherency protocol that these filesystems use. The real power of building a cache coherency protocol into the VFS layering is that it allows you to do things you may not have thought of yet. -Matt : Terry Lambert : terry@lambert.org Matthew Dillon Engineering, HiWay Technologies, Inc. & BEST Internet Communications & God knows what else. (Please include original email in any response) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message