Descr:  Read-Only again, plus some bugs fixed. Unzip this file and put
       it into your l: directory (AmigaOS-side, of course! :)
Keywords: filesystem

1.4 Release  [ Jul 1994 ]  changes over 1.31:
       Misc Enforcer/Mungwall hits fixed in filesystem, fsck, tool, others
               now that I have a machine that can capture those problems.
       Slight performance enhancement made for sequential (multiblock) reads
       Fixed fsck problem with sometimes recognizing the superblock.
       Changed make options such that executable is residentable (can be
               multiply mounted at boot), this solves problem of having
               more than one autmounted BFFS partition in RDB area.
       Cleaned up various aspects of the code to ease the transition
               to the opposite endian compatibility compilation.
       Fixed bug where string not terminated properly for symlink comments.
               Thanks to Ty Sarna for pointing out this problem.
       Disk Key now represents the file inode number to be more compatible
               with ixemul.librarary; thanks to Wolfgang Baron for suggestion
       Did some code optimizing to speed packet interpretation (mainly
               changed how packet data is passed between routines)
       Fixed AmigaDOS mode path parsing problem.  Thanks to Wolfgang Baron
               for demonstrating this bug.
       Fixed fsck, newfs bug when given a name which is not a disk device
       Added support for ACTION_GET_DISK_FSSM packet, as created by
               Ralph Babel and suggested by Christopher A. Wichura
       Fixed inode corruption problem which occurred during writes over
               files (not creating new ones) when filesystem is full
       Problem of BFFS crash with handlers not supporting disk change
               packet eliminated, thanks to Michael Hitch for bug report
       Fixed file write bug where inode data could get flushed from the
               cache before write is done using that data.
       Converted packet type lookups to table for those that are possible,
               will speed up packet service
       Rewrote file fragment group reader for greater efficiency / speed; will
               use item in cache if available and doesn't flush dirty frags
       Fixed examine of volume where root directory size was incorrectly
               returned - thanks to Andrew H. McCardie for pointing this out`
       Fixed problem of resolving assigned names with mixed case.  Thanks
               to Russell McOrmond for bug report.

1.31 Release  [ 18 Mar 1994 ]  Beta Release changes over 1.3:
       Unknown packets are now reported as ERROR_ACTION_NOT_KNOWN instead
               of ERROR_NOT_IMPLEMENTED.  Apparently AmigaDOS and other
               programs look only for ERROR_ACTION_NOT_KNOWN.  Thanks to
               for pointing this out.
       Problem with unaligned buffer file reads where the number of
               requested fragments is greater than cache size fixed.
       Low memory (bytes 0-3) trashing stopped.  Thanks to reports from
               Joe Vasher and Antti Miettinen
       ACTION_EXAMINE_FH fixed, thanks to Joe Vasher for pointing out problem
       Partitions with fragment sizes other than 1k are now mountable
       512 byte block fragments now supported in directory routines
       Problem with allocation where last cylinder group is not full
               has been corrected - would result in filesystem corruption

1.3 Release  [ 2 Feb 1994 ]  changes over 1.3beta:
       If device does not exist, BFFS no longer GURUs the machine.
               Thanks to Tero Manninen for finding this one.
       End of file seek fixed (returns correct position now)
               Again thanks to Tero Manninen for finding this one.
       Dumpfs infinite loop fixed, superblock check is more stringent,
               memory cleared before use (in case driver can't read data
               and dumpfs ran previously) thanks Dominic Giampaolo
       Problem where files cannot be opened or examine even though they show
               up in a file listing fixed, found by Lutz Vieweg
       Unfreed signals in newfs fixed, found by Lutz Vieweg
       rdb program written to provide simple means for editing and fixing
               (most) manufacturers' of Rigid Disk Blocks.
       Disk hardware protection status now correctly observed and reported
               by filesystem, found by Thomas Kroener
       Files not relative to a lock and not containing a colon are assumed
               to be relative to the root - more compatible with ixemul
       ACTION_FINDINPUT, ACTION_FINDOUTPUT, and ACTION_FINDUPDATE now do not
               expect the filename be NULL terminated (ixemul.library again)
       If an inode does not have a timestamp, the superblock time is given
               Dates for files (such as lost+found) will now be valid
       Unix filenames longer than the Amiga can handle (106 characters) are
               now only significant to 106 characters.  Thanks to Tero
               Manninen for pointing out the problem
       Dumpfs now deallocates the correct memory amount, thanks again Tero!
       Problem with newfs, fsck, dumpfs attempting to deallocate memory
               zero bytes in length corrected, thanks to Tero Manninen
       Inode's modify timestamp is now updated on file close (if written)
               to the corrected GMT time
       On filesystem inhibit or die, all files opened for write which have
               been modified are synchronized to the disk
       Problem with BFFS lowercasing all filenames has been corrected
               thanks to Joe Vasher for pointing this out
       Fixed crash problem with dumpfs when ^C is pressed

1.3beta Release  [ 26 Dec 1993 ]  changes over 1.25:
       Fixed bug where first file in directory was deleted and the fs still
               showed the file
       Fixed two enforcer hits at filesystem startup
       Added comment for every file, showing inumber, perms, uid, gid,
               blocks and size (will be able to turn that off)
       Too many levels (like with looping sym links) will not spin forever
       Fixed path resolution routines (now any packet can use assigned path)
       Unimplemented packets now return the correct DOS error result.
       Write to filesystem enabled (not thoroughly tested yet)
       Added create file code to filesystem
       Added delete file code to filesystem
       Added file allocate/write code
       Added invisible file access mode (0), so a file can be opened for
               read/write even if it is already opened with an exclusive
               lock - this needs to be tested further
       Fixed return value for morecache, so that AddBuffers knows if the
               add succeeded
       Fixed bug in fsck - pass2 was using uninitialized data structure
       Wrote filesystem monitoring tool - bffstool
       Rewrote file block indexer - should be quicker (and handle
               double indirection correctly) now
       Added BSD style disk label recognition to filesystem and dumpfs,
               also fixed consistency checks for boot block
       Removed large stack requirements for fsck, newfs, and diskpart
       Added partition autosizing for diskpart, newfs and made newfs able
               to create filesystems in partitions other than the first
       Added initial configuration options to filesystem via use of the
               PreAlloc value
       Added automatic disk sync (using timer.device)
       Resolution of symbolic links relative to root should now work
       Disk changes (for removable devices) are now sensed automatically,
               compliments of Ken Dyke
       Proper stack is now set automatically by the filesystem.  Only need
               256 bytes to startup, compliments of Ken Dyke

1.25 Release  [ Mid 1993 ]  changes over 1.2:
       Fixed cache large file read bug
       Miscellaneous code cleanup

1.2 Release  [ Feb 1993 ]  changes over 1.1:
       Fixed preposterous (bad value) bootblock crashing filesystem
       Seek of superblock is now much smarter - will look for alternate starts
       Low memory allocations are now much more robust
       Assigned paths onto the filesytem now work correctly
               previously, assigned paths were parsed as the root directory
       Indirect blocks of (very) large files were incorrectly being calculated
       Fixed cache low memory problem - fs would exit on low memory when
               attempting to allocate cache space.
       Filesystem now reports correct number of blocks consumed by files
       File dates were five hours fast; they are now probably 5 slow
       Filesystem now starts immediately if Mount=1 in mountlist
       Setting Reserved=-1 will make BFFS not rely on information in the
               boot block of the disk.  Some cases where BFFS crashed
               previously can be eliminated with this feature.

1.1 Release  [ Mid 1992 ]  changes over 1.0:
       fsck now requires 50k of stack, instead of just crashing
       sym links now show what they point to in the comment field
       block and char special files now show type and device in comment field
       fixed bug in filename path lookups which would cause a guru when
               referencing objects that are not directories as if they were.
       added automatic path lookups to follow symlinks
       diskname will now default to BFFS{partition} and can be changed with
               the relabel command
       file permissions and file type are now considered when granting file
               read requests
       filename searches are now case-independent if a case-dependent match
               is not found (means a second pass over the directory)
       fixed problem with return filename on root dir, should be compatible
               with workbench now
       Added code to handle SAME_LOCK packet.  Unfortunately, I suspect a bug
               in the way Workbench handles that info so this routine has been
               hacked to always return LOCK_SAME.
       Fixed motor off problem on floppy drives
       New program - dumpfs to show filesystem information

1.0 Release  [ January 1992 ]  Alpha Release
       Lots of bugs, few features.  :)
       This version was only a rough demo sent to Jan C. at Commodore
       It was only capabl of reading files in cylinder group zero which
               were full filesystem blocks in length and had no holes.