Subject: Re: SoC: HFS+
To: Yevgeny Binder <firstname.lastname@example.org>
From: Julio M. Merino Vidal <email@example.com>
Date: 06/29/2005 11:41:05
On Wed, 2005-06-29 at 04:15 -0500, Yevgeny Binder wrote:
> On Jun 28, 2005, at 4:54 AM, Julio M. Merino Vidal wrote:
> > I've set up a list of documentation (short for now) in my project
> > space,
> > http://netbsd-soc.sourceforge.net/projects/tmpfs/ about file systems;
> > it may be useful to you too.
> Since our projects are both filesystems, I'll definitely be looking
> into your references, and I encourage you to peruse mine (once I put
> some up).
> I have a feeling we're going to be sharing a fair bit of the same
> problems and questions throughout our projects, so I'm looking
> forward to sharing any insights as well!
Sure. tech-kern@ is the place to meet.
> > Fortunately, for HFS+, you could do something like another developer
> > (Reinoud) is doing to implement UFS support: write a user-land
> > implementation first (easier to play with) and then integrate it into
> > the kernel; see his comments in my blog:
> > http://www.livejournal.com/users/jmmv/36085.html
> I was actually considering this, but I wasn't sure if NetBSD allowed
> userland filesystems.
It doesn't yet. Antti's project is meant to add this functionality:
> If it does, a dynamically loadable/unloadable
> scheme similar to linux kernel modules would be terrific.
Loadable modules are supported (which are different than "userland
filesystems". See /usr/lkm.
What I meant, though, was to develop an userland program that reads and
writes to HFS filesystems, without any kernel support (like hfsutils).
This is possible to do, and it's easier to test changes (no need to
reboot, no chances to panic the system...). And, once you have got this
code working, you can try to migrate it to the kernel. Of course,
depending on how you wrote your userland implementation, this may be
more or less difficult... Just an idea.
Julio M. Merino Vidal <firstname.lastname@example.org>
The NetBSD Project - http://www.NetBSD.org/