Newsgroups: comp.sys.amiga.programmer
Path: utzoo!utgpu!watserv1!watdragon!rose!ccplumb
From: ccplumb@rose.uwaterloo.ca (Colin Plumb)
Subject: Re: FFS
Message-ID: <1991Mar26.211632.24246@watdragon.waterloo.edu>
Sender: daemon@watdragon.waterloo.edu (Owner of Many System Processes)
Organization: University of Waterloo
References: <13636@helios.TAMU.EDU>
Date: Tue, 26 Mar 1991 21:16:32 GMT
Lines: 32

cmw1725@tamsun.tamu.edu (Christopher Walton) wrote:
>Could someone please mail or post the specs for FFS to me...
>I need to know what tracks it reserves for its own use, and what is 
>put there.  I also need to know what the track size is, the blocks
>per track, etc....

The FFS doesn't enforce any track size, blocks per track, or whatever.
It just wants blocks numbered x through y, for some x>0.  As of 1.3, it
only liked 512 byte blocks, but that might be fixed in 2.0 - I don't
know.

On floppies, it uses the low-level trackdisk.device format.  I.e.
11 512-byte blocks per track per side, for a total of 1760 blocks
total.  The first two are reserved for boot blocks, and the others
are used by the file system.  On hard drives, anything goes.

In any case, if the last usable block is y, then both the old and new
file systems use block (y+1)/2 to store the root block, and usually
allocate bitmap blocks immediately thereafter, but they can go anywhere.

FFS's root and directory blocks look just like the OFS's, except that
directory hash chains are kept in sorted order, by block number.
FFS eliminates the haeder information in data blocks, filling them
with 512 bytes of data.  It also has some extensions to allow
big partitions; after the pointers to bitmap blocks are used up
in the root block, one last pointer points to a linked list of
bitmap blocks for the rest.  Other than that, there's no difference.

See the AmigaDOS manual for most of the details, and the DevCon notes
for FFS upgrades.
-- 
	-Colin
