[comp.sys.amiga] FS enhancements

page@swan.ulowell.edu (Bob Page) (03/10/88)

[I'm redirecting followups to comp.sys.amiga.tech, which is seeing
quite a bit of action already]

I wrote:
>why not change the directory headers to contain file names before 1.4?

steveb@cbmvax.UUCP (Steve Beats) replied:
>how do you propose to fit a theoretically infinite number of
>filenames into one directory header?

Change the directory header so one longword points to the start of a
'name list' block.  The name list block can have 13 filenames per
512-byte block (8 longwords + 1 longword for key value), and you have
11 longwords left for stuff like checksums, forward/back pointers, etc.

Now ExNext() traverses that to look at file names.  Real quick, and a
lot less read requests.  If the application needs more info than just
the file name, it has the key available to read the file header.
Maybe you need NewExNext(); I forget offhand what ExNext() returns.

>The Amiga file system (yes even the old one) is exceptionally good
>at looking up files by name...  If you start putting lists of
>filenames onto the disk, you're gonna have to scan those lists, and
>boy is it going to slow down.

It won't slow down at all!  The only change I'd make to the directory
block would be to add a pointer to a 'name list' block.  This would
NOT reduce the time to locate a file, since you'd still have the hash
table in the directory block.

You could (I'm sticking my neck out here) even have a utility group
the name list together and sort the entries by name, either
alphabetically or to group the .info files together, but that's
really got nothing to do with changing the FS.

>it's time to look at suggestions like yours Bob, and start
>integrating the ones we want into the system before it hits ROM.

Glad you're open to suggestions.  May I also formally request support
for block sizes other than 512 bytes, a CBM-sponsored partition table
(rather than have it in the Mountlist or have it vendor-specific) that
contains info like partition start/end/blocksize for the whole disk,
have the filesystem handlers be able to communicate with each other
(for network file systems, as well as symbolic links), provide support
for hard links, and support 'mount points' within a file system so I
can mount filesystems under one tree, instead of having a half dozen
file systems.

..Bob
-- 
Bob Page, U of Lowell CS Dept.  page@swan.ulowell.edu  ulowell!page
"I don't know such stuff.  I just do eyes."  -- from 'Blade Runner'

kenchiu@phoenix.Princeton.EDU (Kenneth Chiu) (03/10/88)

In article <5348@swan.ulowell.edu> page@swan.ulowell.edu (Bob Page) writes:
>[I'm redirecting followups to comp.sys.amiga.tech, which is seeing
>quite a bit of action already]

Could you please not do this quite yet?  Our site (and I'm assuming others
as well) thinks it's a bogus newsgroup and doesn't seem to carry articles
in it.  Maybe you could cross-post for a while.

Ken Chiu

cmcmanis%pepper@Sun.COM (Chuck McManis) (03/11/88)

In article <2021@phoenix.Princeton.EDU> (Kenneth Chiu) writes:
->In article <5348@swan.ulowell.edu> page@swan.ulowell.edu (Bob Page) writes:
->>[I'm redirecting followups to comp.sys.amiga.tech, which is seeing
->>quite a bit of action already]
->
->Could you please not do this quite yet?  Our site (and I'm assuming others
->as well) thinks it's a bogus newsgroup and doesn't seem to carry articles
->in it.  Maybe you could cross-post for a while.

Even if it was a valid group it can take something like 6 - 9 months for
a group to propogate to 50% of the net. It is really amazing how long it
takes once the 'go-ahead' is given.

--Chuck McManis
uucp: {anywhere}!sun!cmcmanis   BIX: cmcmanis  ARPAnet: cmcmanis@sun.com
These opinions are my own and no one elses, but you knew that didn't you.