From owner-freebsd-current Thu Oct 23 11:29:38 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id LAA16753 for current-outgoing; Thu, 23 Oct 1997 11:29:38 -0700 (PDT) (envelope-from owner-freebsd-current) Received: from smtp03.primenet.com (smtp03.primenet.com [206.165.5.84]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id LAA16747 for ; Thu, 23 Oct 1997 11:29:31 -0700 (PDT) (envelope-from tlambert@usr02.primenet.com) Received: (from daemon@localhost) by smtp03.primenet.com (8.8.7/8.8.7) id LAA02700; Thu, 23 Oct 1997 11:29:18 -0700 (MST) Received: from usr02.primenet.com(206.165.6.202) via SMTP by smtp03.primenet.com, id smtpd002681; Thu Oct 23 11:29:09 1997 Received: (from tlambert@localhost) by usr02.primenet.com (8.8.5/8.8.5) id LAA29304; Thu, 23 Oct 1997 11:28:40 -0700 (MST) From: Terry Lambert Message-Id: <199710231828.LAA29304@usr02.primenet.com> Subject: Re: nullfs & current UPDATE! To: roberto@keltia.freenix.fr (Ollivier Robert) Date: Thu, 23 Oct 1997 18:28:35 +0000 (GMT) Cc: current@FreeBSD.ORG In-Reply-To: <19971022235352.22444@keltia.freenix.fr> from "Ollivier Robert" at Oct 22, 97 11:53:52 pm X-Mailer: ELM [version 2.4 PL23] Content-Type: text Sender: owner-freebsd-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > > Probably the "correct" way to handle this is to avoid aliases, and > > instead establish a null_getpage/null_putpage VOP for page access, > > and force it to make the reference to the underlying FS. > > Something I don't understand is why the vnode layer should be aware of > things like pages ? We're talking about files, vnodes and such, not pages. It shouldn't. Rather, it should know which vnode the cached pages are hung off, so it can tell the vnode pager, so the vnode pager doesn't have to have specific knowledge of nullfs, unionfs, uidfs, cryptfs, etc., etc.. What you are saying is "give me the underlying vnode backing the object I am referencing: I know it might be one you have proxied instead of one of yours". This is very different than the SVR4/Solaris VOP_GETPAGE/VOP_PUTPAGE; the intent of *that* code is to maintain coherency between the VM and buffer cache for memory mapped files. The BSD version of the code would not be for cache coherency, it would be for alias avoidance for the current page alias problem. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.