Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 May 2004 13:05:22 -0700
From:      Brooks Davis <brooks@one-eyed-alien.net>
To:        Jesse Guardiani <jesse@wingnet.net>
Cc:        freebsd-current@freebsd.org
Subject:   Re: GEOM portable filesystem abstraction?
Message-ID:  <20040520200521.GA7963@Odin.AC.HMC.Edu>
In-Reply-To: <c8j24p$tqt$1@sea.gmane.org>
References:  <c8iu9o$jd9$1@sea.gmane.org> <20040520191910.GB28688@Odin.AC.HMC.Edu> <c8j24p$tqt$1@sea.gmane.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--HcAYCG3uE/tztfnV
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, May 20, 2004 at 03:49:44PM -0400, Jesse Guardiani wrote:
> Brooks Davis wrote:
>=20
> > On Thu, May 20, 2004 at 02:44:06PM -0400, Jesse Guardiani wrote:
> >> Hello,
> >>=20
> >> 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:
> >>=20
> >> 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?
> >>=20
> >> 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?
> >>=20
> >> Is that entirely too far fetched?
> >=20
> > 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.
>=20
> 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...

Porting GEOM to other OSes could certaintly be useful.  It's definatly a
nice concept.

> > 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.
> >=20
> > http://www.cs.columbia.edu/~ezk/research/fist/
> >=20
> > 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.
>=20
> That's interesting. It's too bad I'm not knowledgable enough as
> a programmer to write filesystems. That would make a killer project.
>=20
> 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.

Ideally you'd like a file system that was fast, portable, and
maintainable.  I'm not sure all three are really feasiable unless you're
really careful about defining portable so the OSes in question have a
decent set of common VM semantics available with reasionable overhead.
That's not to say we can't dream or that research shouldn't be done in
this are, but I think we're definatly in research land here.

-- Brooks

--=20
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4

--HcAYCG3uE/tztfnV
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQFArQ+BXY6L6fI4GtQRAj/VAJ4+fKLKyEZxhFrFp6kUvDddxOYHZwCghJtu
YwsBsNsVbenhCagjavDWaHQ=
=VqKe
-----END PGP SIGNATURE-----

--HcAYCG3uE/tztfnV--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040520200521.GA7963>