Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 May 2004 15:49:44 -0400
From:      Jesse Guardiani <jesse@wingnet.net>
To:        freebsd-current@freebsd.org
Subject:   Re: GEOM portable filesystem abstraction?
Message-ID:  <c8j24p$tqt$1@sea.gmane.org>
References:  <c8iu9o$jd9$1@sea.gmane.org> <20040520191910.GB28688@Odin.AC.HMC.Edu>

next in thread | previous in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c8j24p$tqt$1>