From owner-freebsd-fs Fri Nov 5 10:43:53 1999 Delivered-To: freebsd-fs@freebsd.org Received: from cs.columbia.edu (cs.columbia.edu [128.59.16.20]) by hub.freebsd.org (Postfix) with ESMTP id 684B214C84 for ; Fri, 5 Nov 1999 10:43:49 -0800 (PST) (envelope-from ezk@shekel.mcl.cs.columbia.edu) Received: from shekel.mcl.cs.columbia.edu (shekel.mcl.cs.columbia.edu [128.59.18.15]) by cs.columbia.edu (8.9.1/8.9.1) with ESMTP id NAA22581; Fri, 5 Nov 1999 13:43:10 -0500 (EST) Received: (from ezk@localhost) by shekel.mcl.cs.columbia.edu (8.9.1/8.9.1) id NAA21856; Fri, 5 Nov 1999 13:43:09 -0500 (EST) Date: Fri, 5 Nov 1999 13:43:09 -0500 (EST) Message-Id: <199911051843.NAA21856@shekel.mcl.cs.columbia.edu> X-Authentication-Warning: shekel.mcl.cs.columbia.edu: ezk set sender to ezk@shekel.mcl.cs.columbia.edu using -f From: Erez Zadok To: Jan Pechanec Cc: Erez Zadok , Robert Watson , freebsd-fs@FreeBSD.ORG Subject: Re: stupidfs - easily extensible test file systems? In-reply-to: Your message of "Fri, 05 Nov 1999 15:23:22 +0100." Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org In message , Jan Pechanec writes: > On Thu, 28 Oct 1999, Erez Zadok wrote: > > Hi, > > I think that it is a bit different. What Robert is hacking is > a filesystem where in-vfs-not-experienced programmer can see how vfs > is working. I have just read some of your papers, Erez, and I think > that wrapfs wants me not to bother with something like vfs (just > encode and decode routines). The encode and decode routines that wrapfs exports are an API that greatly simplifies two difficult tasks: (1) modifying file names (e.g., translating b/t unix and 8.3 names) (2) modifying file data (e.g., encryption) Every other task you want to accomplish in wrapfs, you do it right in the actual f/s routines, right in the code itself. For example, if you wanted to add acl support (as I've done w/ a trivial aclfs based on wrapfs), you add the right code in lookup(). If you want to create an unrmfs (another prototype I've got), you add it in unlink(). If you wish, you can also touch the read/write/getpage/putpage routines directly and not use the encode/decode API functions. But you'll find that there's a substantial amount of support code needed to deal with data pages, locking, and a lot more stuff around it. All of this is detailed in my Usenix 99 paper. > I think that Robert's effort is very useful, I wanted myself > to write somethink like this (purpose: to learn and _touch_ vfs > interface). Robert, do you carry on or not? I commend you, but don't be surprised if what you'll produce in the end will be almost identical to wrapfs in functionality. It many ways, wrapfs is "stupid", b/c it only provides a thin layer that passes all VOPs to the layer below it, while maintaining semantics. Wrapfs does not do much more than that. That's why I'm telling you now that your stupidfs may wind up being very similar to wrapfs. You cannot get stacking functionality with much less than wrapfs does. If you actually intend to modify the VFS, and add new VOPs, that'll be neat too. But I think you'll find it a bit difficult to get VFS changes merged into the main source tree... :-) And if you will change the VFS, you'll find that your stupidfs does more than, and is "smarter" than wrapfs. You cannot introduce new VOPs w/o changing the VFS, and if you change the VFS, you must make sure that other (native) file systems do something reasonable with these new VOPs. > -- > Jan PECHANEC (mailto:pechy@hp735.cvut.cz) Computing Center CTU (Zikova 4, > Praha 6, 166 35, Czech Republic) http://www.civ.cvut.cz, tel: +420 2 2435 > 2969, http://pechy.civ.cvut.cz Jan et al. I'm not trying to "hawk my merchandise" on you, but rather to save you a great deal of effort repeating that which has been done before. I've created and released my wrapfs templates so that others could build on them, and create hopefully really useful (even commercial) file systems. It may sound corny, but I hope that my work will revitalize the stagnating field of stackable file systems research. You may save a lot of time, and still be able to learn much, by starting with my wrapfs code, and modifying it to your needs. I will be happy to help you in any way I can. Cheers, Erez. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message