From owner-freebsd-fs Tue Dec 5 2:40:42 2000 From owner-freebsd-fs@FreeBSD.ORG Tue Dec 5 02:40:39 2000 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from smtp03.primenet.com (smtp03.primenet.com [206.165.6.133]) by hub.freebsd.org (Postfix) with ESMTP id 071EE37B404 for ; Tue, 5 Dec 2000 02:40:38 -0800 (PST) Received: (from daemon@localhost) by smtp03.primenet.com (8.9.3/8.9.3) id DAA09867; Tue, 5 Dec 2000 03:38:22 -0700 (MST) Received: from usr05.primenet.com(206.165.6.205) via SMTP by smtp03.primenet.com, id smtpdAAAkjaaot; Tue Dec 5 03:38:10 2000 Received: (from tlambert@localhost) by usr05.primenet.com (8.8.5/8.8.5) id DAA27828; Tue, 5 Dec 2000 03:40:20 -0700 (MST) From: Terry Lambert Message-Id: <200012051040.DAA27828@usr05.primenet.com> Subject: Re: VFCF_LOOPBACK flag To: ilya@xosoft.com (Ilya Usvyatsky) Date: Tue, 5 Dec 2000 10:40:20 +0000 (GMT) Cc: freebsd-fs@FreeBSD.ORG (FreeBSD-FS Mailing List) In-Reply-To: <3A2CC0FF.79EEB4FB@xosoft.com> from "Ilya Usvyatsky" at Dec 05, 2000 12:18:40 PM X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: tlambert@usr05.primenet.com Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > Hi ppl, > I am implementing (actually, porting from Solaris) now some > special-purpose stackable file system. > This FS stacks transparently over existing sub-tree of any 'real' FS and > provides some special > functionality via ioctl() calls. > Here is a question that arised to me regarding the VFCF_LOOPBACK flag. > The comment in states that this flag means that the FS is > aliasing some other one. > On the other hand, in my case no aliasing is done (since I'm mounting > transparently and do not > create new name space). So, should I specify the flag in VFS_SET() > macro? The flags should be set. The need for the flag is the result of the fact that the vnode object in each VFS layer will, by definition, have its own vmobject_t, which means that the cache coherency has to be explicit, rather than being assumed as a result of the VM and buffer cache unification. See the NULLFS code changes with regart to VOP_{GET|PUT}PAGES(), since this flag doesn't really work like it's supposed to work. Really, the upper level paging code wants to operate against the loweset level backing object before a translation, proxy, or other operation which means that the backing object pages aren't laid out the same as the underlying vnode in an inferior stack. But set it anyway, incase this is ever fixed. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message