From owner-freebsd-current@FreeBSD.ORG Thu May 20 12:49:51 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9D72716A4CE for ; Thu, 20 May 2004 12:49:51 -0700 (PDT) Received: from main.gmane.org (main.gmane.org [80.91.224.249]) by mx1.FreeBSD.org (Postfix) with ESMTP id C195D43D1F for ; Thu, 20 May 2004 12:49:50 -0700 (PDT) (envelope-from freebsd-current@m.gmane.org) Received: from list by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 1BQtY5-0007mb-00 for ; Thu, 20 May 2004 21:49:49 +0200 Received: from makrothumia.wingnet.net ([206.30.215.5]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 20 May 2004 21:49:49 +0200 Received: from jesse by makrothumia.wingnet.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 20 May 2004 21:49:49 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: freebsd-current@freebsd.org From: Jesse Guardiani Date: Thu, 20 May 2004 15:49:44 -0400 Organization: WingNET Lines: 66 Message-ID: References: <20040520191910.GB28688@Odin.AC.HMC.Edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: makrothumia.wingnet.net User-Agent: KNode/0.7.2 X-Mail-Copies-To: never Sender: news Subject: Re: GEOM portable filesystem abstraction? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: jesse@wingnet.net List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 May 2004 19:49:51 -0000 Brooks Davis wrote: > On Thu, May 20, 2004 at 02:44:06PM -0400, Jesse Guardiani wrote: >> Hello, >> >> I know next to nothing about GEOM, other than what >> the man page says (which I admittedly didn't read >> in full), so I'm probably totally off base, but I >> thought I'd ask this anyway: >> >> It seems like GEOM functions as a bit of a disk >> abstraction layer in FreeBSD. Would it be possible >> to port the GEOM subsystem as a loadable kernel >> module to Linux (and perhaps other OSes) to >> facilitate pluggable, portable filesystem code? >> >> I'm constantly frustrated by the fact that Linux and >> BSD are OPEN SOURCE OSes, but they *still* can't >> write each other's file systems any better than they >> can write the reverse engineered NTFS filesystem. >> Perhaps if GEOM were ported to Linux then Linux >> could use FreeBSD's UFS2 code to read FreeBSD UFS >> filesystems? Perhaps a windows and MacOSX GEOM kernel >> module could follow? >> >> Is that entirely too far fetched? > > Yup. :-) The problem with this idea is that while GEOM handles disk > geometry translations, file systems are consumers of GEOMs not actual > GEOM modules. All GEOM does from the file system's perspective is > present an array of bytes. I suppose if you ported GEOM and brought all > the interaction semantics along you could get some portability, but I'm > not sure GEOM would actually be any help here. Well, if every OS looks at the disk in a different way, and you must manipulate the disk directly to implement things like GBDE encrypted filesystems, then would it make sense to port GEOM and simply build yet another abstraction layer for filesystems on top of it? Two layers of abstraction might not be too much... > FWIW, fist does provide a set of portable semantics and if you wrote a > real file system on it, it should work on FreeBSD, Linux, and Solaris. > > http://www.cs.columbia.edu/~ezk/research/fist/ > > Currently, fist is used to implement stacking layers, but I imagine > you could write a full-fledged files system in it, possiably after > extending it a bit. I'm not actually sure though. That's interesting. It's too bad I'm not knowledgable enough as a programmer to write filesystems. That would make a killer project. I'm not sure a new "language" to describe filesystems would be appropriate though. I think that might be too much abstraction, resulting in massive loss of performance. -- Jesse Guardiani, Systems Administrator WingNET Internet Services, P.O. Box 2605 // Cleveland, TN 37320-2605 423-559-LINK (v) 423-559-5145 (f) http://www.wingnet.net