From owner-freebsd-fs Fri Oct 2 02:34:06 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id CAA23472 for freebsd-fs-outgoing; Fri, 2 Oct 1998 02:34:06 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from gatekeeper.tsc.tdk.com (gatekeeper.tsc.tdk.com [207.113.159.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id CAA23467 for ; Fri, 2 Oct 1998 02:34:03 -0700 (PDT) (envelope-from gdonl@tsc.tdk.com) Received: from sunrise.gv.tsc.tdk.com (root@sunrise.gv.tsc.tdk.com [192.168.241.191]) by gatekeeper.tsc.tdk.com (8.8.8/8.8.8) with ESMTP id CAA10336; Fri, 2 Oct 1998 02:33:45 -0700 (PDT) (envelope-from gdonl@tsc.tdk.com) Received: from salsa.gv.tsc.tdk.com (salsa.gv.tsc.tdk.com [192.168.241.194]) by sunrise.gv.tsc.tdk.com (8.8.5/8.8.5) with ESMTP id CAA04444; Fri, 2 Oct 1998 02:33:44 -0700 (PDT) Received: (from gdonl@localhost) by salsa.gv.tsc.tdk.com (8.8.5/8.8.5) id CAA15261; Fri, 2 Oct 1998 02:33:42 -0700 (PDT) From: Don Lewis Message-Id: <199810020933.CAA15261@salsa.gv.tsc.tdk.com> Date: Fri, 2 Oct 1998 02:33:42 -0700 In-Reply-To: Terry Lambert "Re: vm system interaction with nullfs" (Sep 13, 10:43pm) X-Mailer: Mail User's Shell (7.2.6 alpha(3) 7/19/95) To: Terry Lambert , Don.Lewis@tsc.tdk.com (Don Lewis) Subject: Re: vm system interaction with nullfs Cc: freebsd-fs@FreeBSD.ORG Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Sep 13, 10:43pm, Terry Lambert wrote: } Subject: Re: vm system interaction with nullfs } > Since the vm system keeps track of what it has in memory by (vnode, offset), } > how is this supposed to work when stackable filesystems are in use which } > create multiple vnodes for a single filesytem object, or is this broken? } } Yes, this is still broken. } } This was the primary reason for the migration of a putpages/getpages } into all "bottom-of-stack" FS's. } } The general fix is to create a "getfinalvp". This would allow you } to page through an object, while allowing layers stacked on top to } dictate layout/content. I started down this path and created VOP_GETBACKINGVP. This part was pretty easy. The problem is that there are a zillion references to vp->v_object all over the place that would need to be fixed. } Another part of the puzzle is that the vnode locking is overly } complex (VOP_LOCK). Yes. This is another one of those places where I get lost in a maze of twisty little passages ... } > It would seem that in the case of nullfs and similar transparent filesytems, } > the vm system should always use the lowest vnode, but this doesn't seem to } > be implemented (though I could just be getting lost in the maze of twisty } > little passages). It's even messier if the layer isn't transparent, } > like an encryption layer. } } Not in all cases, actually. For a cryptographic FS (such as the } one one of John Heidemann's students wrote, and John sent me), you } will want a backing object for the unencrypted data, seperate from } the backing object of the on-disk data. } } There are also cases where the in-core data and the backing data } aren't the same size. For some of these (like a compression layer), } you would implement this via the comperssion layer's vp's get/putpages, } and not operate on the backing store directly. It looks like some clues to how to properly implement this are in the paper you mention. } Really, you should go to ftp.cs.ucla.edu, and read up on the } stacking architecture. The documents in the "ficus" directory } are the actual design documents for the BSD 4.4 stacking } architecture. Got it. I thought I'd read this paper before (a year or so ago), but apparently I had snagged an earlier version. The lastest one, UCLA-CSD-950032, is much more complete. Unfortunately, I only managed to read the first quarter before being distracted by other fires. My immediate needs don't require the full functionality of stackable filesystems, or even all that nullfs is capable of. I really need to finish reading this paper so I can find out if featherweight layering meet my requirements, since that might be easier to get working. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message