Status of HFS+ support (was hfs support for blocksize != 512)

2 messages, 2 authors, 2000-08-29 · open the first message on its own page

Status of HFS+ support (was hfs support for blocksize != 512)

From: Halfmann, Klaus <hidden>
Date: 2000-08-29 16:40:08

Im currently working on HFS+ support. Im assisted by Brad Boyer
(flar@pants.edu) . I currently target a remake of the hfsutils
originally created by rob@mars.org.

The current status is, that the library for readonly acces looks
fine. I currently work on providing commands like hpmount and
hpls. Since this is a userland project I dont care about race
conditions right now. (Im aware that a kernel module must care ...)
I think I got a good undertstanding of the BTrees by now (it took some
time ...). Updating the btree in a multithreaded environemnt is
a real challenge. One must adopt database like mechanisms like
optimistic locking to update a btree concurrently. (Well databases
_use_ Btrees internally :-).

On the other hand: The hfs acces is normally not needed for heavy
concurrent acces. (Mhh, there might be AFP Servers publishing HFS
partions) For now it should be enough to have a global update
lock on the root of the node. Im not firm with kernel code yet, dont
ask me about the details :-)

I plan to progress on the userland side until most of the the Details
work (almost :) correctly. This way it is at least possible to copy
a kernel to the HFS+ "Side" of the mac to yaboot from it etc.
_After_ that Ill go ahead and write a kernel module. Of course any help
on the modules is welcome. We have a CVS repostiory at Suse and perhaps
(Olaf do you her me ?) there is an rsync acces, too.

I'd really like to know how the concurrency of the kernel filesystem
should work, can anybody feed me with documentations about that ?

Greeting,
	Klaus Halfmann (aka Hasi)

P.S. for HFS+ I dont assume any fixed block size :)

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: Status of HFS+ support (was hfs support for blocksize != 512)

From: Roman Zippel <hidden>
Date: 2000-08-29 18:16:33

Hi,
Im currently working on HFS+ support. Im assisted by Brad Boyer
(flar@pants.edu) . I currently target a remake of the hfsutils
originally created by rob@mars.org.
Great to hear. :-)
On the other hand: The hfs acces is normally not needed for heavy
concurrent acces. (Mhh, there might be AFP Servers publishing HFS
partions) For now it should be enough to have a global update
lock on the root of the node. Im not firm with kernel code yet, dont
ask me about the details :-)
Usermode and kernelmode implementation are two quite different things. I
know that from affs. Lots of things you can easily do in user space are
hard to do in the kernel, e.g. you have no virtual memory (so you to take
care not to waste too much memory), you are limited to page (cache) size
and of course all the possible, funny races in the kernel...

BTW do you plan a hfsck? I started more a hfsdump to better see and
understand the fs structure, that could be extended with consistency
checks and maybe later with repair functionality...

bye, Roman


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help