GEOM portable filesystem abstraction?
John Baldwin
jhb at FreeBSD.org
Fri May 21 07:36:29 PDT 2004
On Friday 21 May 2004 09:37 am, Jesse Guardiani wrote:
> Will Andrews wrote:
> > On Thu, May 20, 2004 at 02:44:06PM -0400, Jesse Guardiani wrote:
> >> 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?
> >
> > GEOM is below the filesystem layer and thus wouldn't help you
> > with the filesystem portability issue.
>
> Well, that's kinda the point. If you want to port filesystems
> to multiple architectures/OSes, then you need a common underlying
> infrastructure. I was thinking GEOM might be it. Plus, GEOM
> makes GBDE encrypted volumes possible.
Filesystems are really in a sandwich of layers. For example, on typical VFS
UNIXs, you have this:
system calls
|
vnode layer
|
file system
|
dev_t device
On FreeBSD and other VFS UNIXs with a unified buffer cache it gets a bit more
complicated as the vnode/file system layers talk to VM, which calls back into
the vnode/file system layers, etc.
GEOM is an abstraction for the dev_t layer of that tree. It is not an
abstraction for the VM system or for the way that requests are made of the
file system by the rest of the kernel (i.e. syscalls, VM, etc.). GEOM is
just one piece of the puzzle and is not enough of the puzzle to provide a
completely portable file system API.
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-current
mailing list