> * Your code is lacking comments (I know Im pedantic here).
>   Will you include comments of mine (and verify them)
>   in case I send you some ?

Yes, I'll be more than happy to look at your comments and
include them, and if I correct any of them, I'll be sure
to let you know what I changed and why.

> * I registered three creator codes with Apple. I myself
>   claim 'H+LX' (Hex) 482B4C58 for my hfsplus utils and
>   suppose you use 'H+Lx' (Hex) 482B4C78 for your
>   implementation. A third code is free for now:
>   'H+lx'  (Hex) 482B6C78

That sounds fine. Thanks for letting me use it.

> * In my code I create the extents btreee on demand only.
>   (I hope to spare some memory this way)
>   Your code does not look like doing so.

No, my code always loads it at mount time. I'll take a look
and see how much memory I'm wasting that way. This shouldn't
be a really big deal to change.

> * In hfsplus_statfs I read:
>
>     if(sb->u.hfsplus_sb.next_cnid <= HFSPLUS_EXCH_CNID)
>       tmp.f_ffree = 0;
>     else
>       tmp.f_ffree = 0xFFFFFFFF - sb->u.hfsplus_sb.next_cnid;
>
>   This may fail in case someone ever writes a mkhfsp to create
>   a really empty HFS+ volume. (Why do you this anyway ?)

This is a simplistic bit of code that probably should be rewritten.
The reason it was done this way is a quirk in the way the MacOS
does the allocation. It always creates the next normal file as
the value in next_cnid and the increments the value. That number
should always be initialized to a number greater than the value
HFSPLUS_EXCH_CNID because that value and all smaller are reserved
by Apple for special purposes. If a filesystem has next_cnid set
to a number lower than that, there is a problem. I suspect that
the value of f_ffree in statfs could be a little wrong without
any side effects anyway.

> More comments later.

Thanks. I'm glad someone's looking at it. Noone else seems to have.
