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>