[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: HFS problems
- Subject: Re: HFS problems
- From: nathan@visi.com (Nathan Mates)
- Date: 1996/09/09
- Newsgroups: comp.sys.apple2
- Organization: Vector Internet Services, Inc.
- References: <50v52c$a1l@rock101.genie.net> <50vc1v$7j3@darla.visi.com> <50vrcs$30g@zap.io.org>
In article <50vrcs$30g@zap.io.org>, Myles Fudge <crownmi@zap.io.org> wrote:
>In article <50vc1v$7j3@darla.visi.com>, Nathan Mates <nathan@visi.com> wrote:
>>In article <50v52c$a1l@rock101.genie.net>, <l.middleton3@genie.com> wrote:
>> The patch to the HFS FST only fixes _one_ bug with the FST, and
>>...The catalog structure is a binary tree that smoked some
>>crack stored in another binary tree that consumed some LSD.
>That's about the best description I've ever heard of the deep, complex
>inner workings of the IIgs HFS.FST.
In theory, it's probably pretty nice. I bet it was also fairly
simple to write some form of routines to traverse it in a high level
language-- within memory. The second you have to deal with disk i/o to
update the trees, it's hell.
My gut feeling on it is that someone had _way_ too much academic
background and required fancy data structures when they designed
it. Or, it was designed by committee. In any case, it is NOT a model
for simple, understandable, and reliable data structures. Even a
sorted linear list of files would have provided 90% of the performance
(you have to update the directory on disk _anyways_ when writing;
moving a list around in memory to insert a filename is dirt cheap, and
writing a few directory blocks is trivial) at a HUGE savings.
Another thing they did wrong was the 32MB per partition
problem. Sure, they get around it by having large blocks, but on a 1GB
drive, the smallest file eats 32K of disk space. Ouch. Macs had
processors very capable of 32-bit math from the start, and when they
got around to making HFS, drives >32MB were either available or very
much on the horizon. Using 32-bit block numbers and 0.5K or 1.0K
blocks would have been the far better solution for the long run.
>>...I might try and write a program to detect and/or repair HFS problems
>Heh. You might get your name written in stone for that one, Nathan. I'm
>waiting in line for this one...
Problems: 1) Time. Work's getting more busy as I get nearer to
shipping in January, and the postit note on my monitor of csa2 FAQ
changes lists about 10 major items to add/rewrite. 2) If you think my
description of the FST was overkill, you should read the documentation
on it. It's nearly headache inducing.
Nathan Mates
--
<*> Nathan Mates http://www.visi.com/~nathan/ <*>
# What are the facts? Again and again and again-- what are the _facts_?
# Shun wishful thinking, avoid opinion, care not what the neighbors
# think-- what are the facts, and to how many decimal places? -R.A. Heinlein