[Image] [Reply to sender] [Image] [Reply to all] [Image] [Reply to folder]
[Image] [Forward] [Image] [Move/Copy] [Image] [Delete] [Image]
[Read previous item] [Read next item] [Image]
[Get help information on the current window] [Image]

From:     flar@allandria.com [SMTP:flar@allandria.com]
To:       khalfmann@libra.de
Cc:

Subject:  Re: HFS+ a bit Progress
Sent:     8/18/00 4:53 AM                            Importance:    Normal

 Halfmann, Klaus wrote:
 > Perhaps we should take a look at /hfsplus/libhfsp/test/dump1.txt:
 > at 004ccc0:
 > 004ccc4 should be the start of the B-Tree Map record.
 > This should start with first two bits set, that would be 0xc
 > But there are all zeros upto 0x4ccf8 where I found the expected
 > 0xc , But how can I correctly calculate this offset ?

 You need to look at the offsets at the end of the node to find
 the location and length of the map record. The end of the node
 has an array of 16 bit numbers which are the offsets of all the
 records in the node, and there is one more number than there are
 records to tell where the free space starts.

 >  >> Perhaps we should "meet" somewhere in irc. If this is
 >  >> impossible we should communicate by commenting in the source
 >  >> code and in the documentation.
 >
 > I already started it tha "offline" way

 Well, I've found a couple problems in the code while looking at
 it the last day or so. In btree_init() you don't update p after
 you pass it to the first function, so you read the same data
 twice, and end up getting the wrong data in the header. I don't
 know if it's intentional, but your code will be wrong for any
 file with more than the 8 extents that can be held in the
 actual fork data structure. You aren't using the extents
 overflow file at all. My code in fs/hfsplus/extents.c shows
 the basic outline of the extents file usage, tho I'm not
 100% sure I have it correct.

 I have another hexdumped drive image if you want it. It's a
 ZIP cartridge with a freshly formatted HFS+ filesystem done
 by the U.S. version of OS8 (8.5, I think). The file is about
 128k uncompressed.

 Just another little detail I noticed in your comments. That
 "last mounted version" is a signature that is supposed to be
 unique for every program or OS that writes to an HFS+ disk,
 and should even be changed with major software revisions. I
 think Apple has a page where you can request a code.

 > Go to http://www.efnet.net/servers.html and choose a
 > server in your vincinity that "likes" you. (Some servers
 > kick you when they dont like you IP-adress). Perhaps
 > youll have trouble with your organisations firewalls etc.
 >
 > However you should join then channel "#mklinux" There you might
 > find me as "Hasi" (Ask a native German what this is :-).
 > There are severela irc clients around. I use the plain,
 > text only irc that comes with ppclinux. Use "/help" to find
 > out about irc (this works offline, too). As soon as you got
 > some idea about irc we can create a channel "HFS+" or
 > "hfsplus" to have a chat on our own.
 >
 > Let me think about the time diff. You are correct with
 > EST (European Summer Time) its 9 hours using 24-hour times
 > at 17:00 its 09:00 at your location, this might work.
 > Perhaps you like more to work at night (many at irc seem
 > to do so :-) so to meet me at 09:00 you should stay up
 > until about midnight 00:00 ...

 I'll try to get on there occasionally. Hopefully we can
 manage to be there at the same time.

         Brad Boyer
         flar@pants.nu


